/* Scoped to the plugin; designed to coexist with custom WordPress themes. */
.gjt { --gjt-burgundy: #9c1642; --gjt-pink: #e33d72; --gjt-navy: #173b79; --gjt-line: #eddfeb; --gjt-text: #29354d; font-family: Inter, 'Segoe UI', Arial, sans-serif; color: var(--gjt-text); background: #fff; border: 1px solid var(--gjt-line); border-radius: 16px; overflow: hidden; margin: 18px 0 26px; box-shadow: 0 8px 30px rgba(83,28,60,.075); }
.gjt *, .gjt *::before, .gjt *::after { box-sizing: border-box; }
.gjt-head { padding: 23px 26px; background: linear-gradient(120deg,#80133b,#b51d51 62%,#de4c79); color: #fff; }
.gjt-head h2 { color: #fff !important; border: 0 !important; background: none !important; margin: 0 !important; padding: 0 !important; font-size: clamp(21px, 2.2vw, 28px) !important; font-weight: 800 !important; line-height: 1.25 !important; letter-spacing: -.02em; }
.gjt-head p { margin: 7px 0 0 !important; color: #ffe7f0 !important; font-size: 13px !important; line-height: 1.6 !important; }
.gjt-form { padding: 22px 25px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: end; gap: 15px; background: linear-gradient(120deg,#fff8fb,#f5f6ff); border-bottom: 1px solid var(--gjt-line); }
.gjt-form label { display: flex; flex-direction: column; gap: 7px; min-width: 0; font-size: 13px; font-weight: 700; color: #6b2947; }
.gjt-form select, .gjt-form input[type=number] { width: 100%; height: 44px; border: 1px solid #decad8; padding: 0 12px; border-radius: 9px; background: #fff; color: #21324f; font-size: 14px; font-family: inherit; box-shadow: none; }
.gjt-form select:focus, .gjt-form input:focus { outline: 2px solid #ce7797; outline-offset: 1px; }
.gjt a.gjt-btn, .gjt .gjt-btn { display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(120deg,var(--gjt-burgundy),var(--gjt-pink)); color: #fff !important; border: 0; border-radius: 9px; padding: 11px 19px; min-height: 43px; font-family: inherit; font-size: 13px; font-weight: 800; line-height: 1.3; text-decoration: none !important; cursor: pointer; white-space: normal; }
.gjt .gjt-btn:hover { filter: brightness(1.08); }
.gjt-note { margin: 15px 25px !important; padding: 12px 16px; border-left: 3px solid #c33765; border-radius: 7px; background: #fff5f8; color: #6b4354; font-size: 12px !important; line-height: 1.6 !important; }
.gjt-results-heading { font-size: 19px !important; padding: 0 25px !important; margin: 23px 0 15px !important; color: #831840 !important; }
.gjt-job-grid { padding: 0 25px 25px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.gjt-job { min-width: 0; padding: 18px; border: 1px solid #e8e4ed; border-radius: 11px; background: #fff; box-shadow: 0 3px 12px rgba(32,43,73,.035); }
.gjt-job h3 { margin: 0 0 12px !important; font-size: 16px !important; line-height: 1.4 !important; background: none !important; padding: 0 !important; }
.gjt-job h3 a { color: var(--gjt-navy) !important; text-decoration: none !important; font-weight: 800; }
.gjt-job h3 a:hover { color: var(--gjt-burgundy) !important; text-decoration: underline !important; }
.gjt-tags { display: flex; gap: 5px; flex-wrap: wrap; margin: 0 0 12px; }
.gjt-tags span { background: #fbedf3; border-radius: 30px; color: #86214b; font-size: 10px; padding: 4px 8px; font-weight: 700; }
.gjt-info { display: flex; flex-direction: column; gap: 6px; color: #56627a; font-size: 12px; line-height: 1.5; }
.gjt-info strong { color: #35415b; }
.gjt-actions { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 17px; }
.gjt a.gjt-outline { display: inline-flex; justify-content: center; align-items: center; padding: 9px 12px; border: 1px solid #e8c8d6; border-radius: 8px; font-size: 12px; text-decoration: none !important; color: var(--gjt-burgundy) !important; font-weight: 700; }
.gjt-events { padding: 16px 24px 22px; display: flex; flex-direction: column; gap: 9px; }
.gjt a.gjt-event { display: flex; align-items: center; gap: 14px; padding: 12px 15px; background: #faf8fc; border: 1px solid #efebf2; border-radius: 10px; color: #163a7b !important; text-decoration: none !important; line-height: 1.5; transition: border-color .15s ease, background .15s ease; }
.gjt a.gjt-event:hover { border-color: #e1a3c0; background: #fff6fb; }
.gjt-date { min-width: 92px; font-size: 12px; font-weight: 800; color: #a41e4f; }
.gjt-event-title { font-size: 13px; font-weight: 700; flex: 1; min-width: 0; }
.gjt-type { background: #fce6ee; border-radius: 30px; padding: 4px 9px; color: #a01c50; font-size: 11px; font-weight: 700; }
.gjt-arrow { color: #b12753; font-size: 17px; font-weight: 800; }
.gjt-empty { margin: 18px 25px 25px !important; background: #fff8fb; padding: 17px; border-radius: 8px; color: #76546a; font-size: 13px !important; }
.gjt-pagination { display: flex; gap: 7px; flex-wrap: wrap; padding: 0 25px 22px; }
.gjt-pagination a, .gjt-pagination span { padding: 7px 10px; border: 1px solid #eddfeb; border-radius: 6px; color: #98224e; font-size: 13px; text-decoration: none !important; }
.gjt-pagination .current { background: #98224e; color: #fff; }
@media(max-width:920px) { .gjt-job-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:620px) { .gjt { border-radius: 10px; } .gjt-head { padding: 19px 15px; } .gjt-form { padding: 16px; grid-template-columns: 1fr; } .gjt-note { margin: 13px 16px !important; } .gjt-results-heading { padding: 0 16px !important; } .gjt-job-grid { padding: 0 16px 17px; grid-template-columns: 1fr; } .gjt-events { padding: 15px; } .gjt a.gjt-event { align-items: flex-start; gap: 9px; flex-wrap: wrap; } .gjt-date { min-width: auto; } .gjt-type { margin-left: auto; } }
@media(prefers-reduced-motion:reduce) { .gjt a.gjt-event { transition: none; } }
