/* Structure only: page/card composition and appearance belong to Elementor. */
.gems-jobs-component { max-width: none; margin: 0; overflow-wrap: anywhere; }
.gems-jobs-component form { margin: 0; }
.gems-jobs-component label, .gems-job-field-label { display: block; margin-bottom: .4em; }
.gems-job-field-label { font-size: .8em; font-weight: 600; }
.gems-jobs-component input:not([type=checkbox]):not([type=radio]):not([type=hidden]), .gems-jobs-component select, .gems-jobs-component textarea { width: 100%; max-width: 100%; box-sizing: border-box; }
.gems-jobs-component button { white-space: normal; }
.gems-jobs-filters { display: grid; gap: 20px; }
.gems-jobs-filters fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.gems-jobs-filters legend { margin-bottom: 10px; font-weight: 600; }
.gems-jobs-filter-tags { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.gems-jobs-filter-tags label { display: inline-flex; align-items: baseline; gap: 6px; margin: 0; }
.gems-jobs-filter-selects { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.gems-jobs-component .gems-jobs-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.gems-jobs-component .gems-jobs-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 600px) { .gems-jobs-filter-selects { grid-template-columns: minmax(0,1fr); } }

.gems-jobs-heading .elementor-heading-title { overflow-wrap: anywhere; }
.gems-job-application-email { margin-top: 12px; overflow-wrap: anywhere; }
.gems-job-application-email p { margin-bottom: 8px; }
.gems-job-application-email [data-job-copy-status] { display: block; margin-top: 8px; }
