/* SolidPayments Careers — frontend */
/* Outer wrapper is centered to the viewport by JS (see frontend.js -> centerOuter).
   CSS gives a sensible fallback (centered within parent) if JS is disabled. */
.spc-outer { position: relative; box-sizing: border-box; z-index: 5; padding: 0; }
.spc-careers { font-family: 'Roboto', Arial, sans-serif; color: #111; max-width: 1180px; width: calc(100% - 32px); margin: 48px auto; padding: 40px 40px 56px; box-sizing: border-box; background: #fff; border-radius: 8px; box-shadow: 0 4px 24px rgba(0,0,0,.08); position: relative; }
.spc-careers * { box-sizing: border-box; }
.spc-careers h1, .spc-careers h2, .spc-careers h3, .spc-careers p, .spc-careers li, .spc-careers label, .spc-careers strong, .spc-careers span, .spc-careers a, .spc-careers div { color: #111 !important; }
.spc-careers .spc-btn { color: #fff !important; }
.spc-careers .spc-btn:hover { color: #111 !important; }
.spc-careers a:hover { color: #555 !important; }
.spc-careers .spc-single-title { font-size: 32px !important; line-height: 1.2 !important; font-weight: 700 !important; }
.spc-careers .spc-grid-title { font-size: 28px !important; line-height: 1.2 !important; font-weight: 700 !important; }
.spc-careers h2 { font-size: 22px !important; line-height: 1.3 !important; font-weight: 600 !important; }
.spc-careers h3 { font-size: 18px !important; line-height: 1.3 !important; font-weight: 600 !important; }
@media (max-width: 700px) { .spc-careers { margin: 24px 12px; padding: 24px 16px 40px; } }

.spc-grid-header { text-align: center; margin: 0 0 32px; }
.spc-grid-title { font-size: 36px; font-weight: 700; margin: 0 0 8px; line-height: 1.2; }
.spc-grid-sub { font-size: 17px; color: #555; margin: 0; }

.spc-empty { text-align: center; color: #666; padding: 48px 16px; border: 1px dashed #ccc; border-radius: 6px; }

.spc-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.spc-card { background: #fff; border: 1px solid #e5e5e5; border-radius: 6px; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s, transform .2s; }
.spc-card:hover { box-shadow: 0 6px 18px rgba(0,0,0,.08); transform: translateY(-2px); }
.spc-card-thumb { display: block; height: 160px; background-size: cover; background-position: center; background-color: #111; }
.spc-card-body { padding: 20px; display: flex; flex-direction: column; flex: 1; }
.spc-card-title { font-size: 20px; margin: 0 0 12px; line-height: 1.25; }
.spc-card-title a { color: #111; text-decoration: none; }
.spc-card-title a:hover { text-decoration: underline; }
.spc-card-meta { list-style: none; padding: 0; margin: 0 0 16px; color: #555; font-size: 14px; }
.spc-card-meta li { margin-bottom: 4px; }
.spc-meta-label { color: #888; }

.spc-careers .spc-btn { display: inline-block; background: #111; color: #fff; text-decoration: none; padding: 10px 20px; font-size: 16px; border-radius: 5px; border: 1px solid #111; cursor: pointer; transition: background .15s, color .15s; line-height: 1.2; align-self: flex-start; margin-top: auto; }
.spc-careers .spc-btn:hover { background: #fff; color: #111; }

.spc-back { margin-bottom: 16px; font-size: 14px; }
.spc-back a { color: #555; text-decoration: none; }
.spc-back a:hover { color: #111; text-decoration: underline; }

.spc-single-thumb { width: 100%; height: 280px; background-size: cover; background-position: center; border-radius: 6px; margin-bottom: 24px; background-color: #111; }
.spc-single-header { margin-bottom: 32px; }
.spc-single-title { font-size: 36px; font-weight: 700; margin: 0 0 12px; line-height: 1.2; }
.spc-single-meta { list-style: none; padding: 0; margin: 0; color: #555; font-size: 16px; display: flex; flex-wrap: wrap; gap: 24px; }
.spc-single-meta li strong { color: #111; }

.spc-single-section { margin-bottom: 36px; }
.spc-single-section h2 { font-size: 24px; margin: 0 0 16px; border-bottom: 2px solid #111; padding-bottom: 8px; display: inline-block; }
.spc-rich p { margin: 0 0 16px; line-height: 1.6; font-size: 16px; }
.spc-rich ul, .spc-rich ol { margin: 0 0 16px 24px; line-height: 1.6; }
.spc-rich li { margin-bottom: 6px; }

.spc-apply-section { background: #fafafa; padding: 32px; border-radius: 6px; }
.spc-form .spc-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
@media (max-width: 600px) { .spc-form .spc-row { grid-template-columns: 1fr; } }
.spc-form .spc-field { display: flex; flex-direction: column; margin-bottom: 16px; }
.spc-form label { font-weight: 500; margin-bottom: 6px; font-size: 14px; color: #333; }
.spc-form input[type=text], .spc-form input[type=email], .spc-form input[type=tel], .spc-form textarea, .spc-form input[type=file] { width: 100%; padding: 10px 12px; font-size: 16px; border: 1px solid #ccc; border-radius: 5px; font-family: inherit; background: #fff; color: #111; }
.spc-form input:focus, .spc-form textarea:focus { outline: 2px solid #111; outline-offset: 0; border-color: #111; }
.spc-form textarea { resize: vertical; min-height: 120px; }
.spc-req { color: #c00; }

.spc-hp { position: absolute; left: -9999px; top: -9999px; width: 1px; height: 1px; overflow: hidden; }

.spc-submit-row { display: flex; align-items: center; gap: 16px; margin-top: 8px; }
.spc-submit { padding: 12px 32px; font-size: 16px; }
.spc-submit[disabled] { opacity: .6; cursor: wait; }
.spc-form-msg { font-size: 14px; }
.spc-form-msg.is-error { color: #c00; }
.spc-form-msg.is-ok { color: #1a7e1a; }

.spc-notice { padding: 14px 18px; border-radius: 5px; margin: 0 0 20px; font-size: 15px; line-height: 1.4; }
.spc-notice-success { background: #e7f5e7; border: 1px solid #1a7e1a; color: #155b15; }
.spc-notice-error { background: #fbeaea; border: 1px solid #c00; color: #800; }

.spc-closed-msg { font-size: 16px; padding: 20px; background: #f4f4f4; border-left: 4px solid #888; border-radius: 4px; color: #555; }
