/* Sõbra Pesa – Vabad töökohad. Värvid pärivad teemast; rõhuvärv: --sptk-accent */
.sptk { --sptk-accent: #d4a017; --sptk-line: rgba(128,128,128,.35); --sptk-soft: rgba(128,128,128,.08); max-width: 960px; margin: 0 auto; line-height: 1.55; }
.sptk *, .sptk *::before, .sptk *::after { box-sizing: border-box; }
.sptk-intro { font-size: 1.08em; margin-bottom: 1.4em; }

.sptk-btn { display: inline-block; background: var(--sptk-accent); color: #111 !important; font-weight: 600; text-decoration: none !important; padding: .65em 1.3em; border-radius: 6px; border: 2px solid var(--sptk-accent); cursor: pointer; font-size: 1em; line-height: 1.2; transition: filter .15s; }
.sptk-btn:hover, .sptk-btn:focus { filter: brightness(1.08); }
.sptk-btn-outline { background: transparent; color: inherit !important; }
.sptk-back { text-decoration: none; opacity: .8; }

/* Filtrid */
.sptk-filters { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 0 0 1.2em; }
.sptk-filter { display: flex; flex-wrap: wrap; gap: 6px; }
.sptk-filter button { background: transparent; color: inherit; border: 1px solid var(--sptk-line); border-radius: 999px; padding: .35em .95em; cursor: pointer; font: inherit; font-size: .92em; }
.sptk-filter button.is-active { background: var(--sptk-accent); border-color: var(--sptk-accent); color: #111; font-weight: 600; }

/* Kaardid */
.sptk-jobs { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.sptk-job { border: 1px solid var(--sptk-line); background: var(--sptk-soft); border-radius: 10px; padding: 18px 20px; display: flex; flex-direction: column; gap: 8px; }
.sptk-job[hidden] { display: none; }
.sptk-job-title { margin: 0; font-size: 1.25em; line-height: 1.3; }
.sptk-job-title a { color: inherit; text-decoration: none; }
.sptk-job-excerpt { margin: 0; }
.sptk-job-meta { margin: 0; font-size: .9em; opacity: .8; }
.sptk-job .sptk-btn { margin-top: auto; align-self: flex-start; }

.sptk-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.sptk-badge { display: inline-block; font-size: .8em; padding: .2em .65em; border-radius: 999px; border: 1px solid var(--sptk-line); white-space: nowrap; }
.sptk-badge-loc { background: var(--sptk-accent); border-color: var(--sptk-accent); color: #111; font-weight: 600; }
.sptk-badge-oo { background: #2b2d42; border-color: #2b2d42; color: #fff; }
.sptk-badge-paev { background: #fff4d6; border-color: #f0d68a; color: #5c4400; }

/* Avatud avaldus */
.sptk-open { margin-top: 2.2em; }
.sptk-open-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.sptk-open-card { border: 1px dashed var(--sptk-line); border-radius: 10px; padding: 18px 20px; }
.sptk-open-card h4 { margin: 0 0 .4em; }
.sptk-address { margin: .2em 0 .6em; font-size: .95em; }
.sptk-address a { color: inherit; }

/* Detailvaade */
.sptk-detail { margin-bottom: 2em; }
.sptk-detail-title { margin: 0 0 .4em; }
.sptk-facts { display: grid; grid-template-columns: max-content 1fr; gap: 4px 18px; margin: 1em 0; padding: 14px 18px; border-left: 3px solid var(--sptk-accent); background: var(--sptk-soft); }
.sptk-facts dt { font-weight: 600; margin: 0; }
.sptk-facts dd { margin: 0; }
.sptk-content { margin-top: 1em; }

/* Vorm */
.sptk-form { border: 1px solid var(--sptk-line); border-radius: 12px; padding: 22px 24px; background: var(--sptk-soft); }
.sptk-form h3 { margin-top: 0; }
.sptk-form fieldset { border: 0; padding: 0; margin: 0 0 1.4em; }
.sptk-form legend { font-weight: 700; font-size: 1.08em; margin-bottom: .6em; padding: 0; border-bottom: 2px solid var(--sptk-accent); }
.sptk-field { margin: 0 0 1em; display: flex; flex-direction: column; gap: 4px; }
.sptk-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 16px; }
.sptk-form label, .sptk-label { font-weight: 600; }
.sptk-choices label, .sptk-consent label { font-weight: 400; }
.sptk-form input[type=text], .sptk-form input[type=email], .sptk-form input[type=tel], .sptk-form input[type=number], .sptk-form input[type=date], .sptk-form select, .sptk-form textarea {
	width: 100%; max-width: 100%; padding: .6em .75em; border: 1px solid rgba(128,128,128,.55); border-radius: 6px; background: #fff; color: #222; font: inherit; font-size: 1em; margin: 0;
}
.sptk-form input:focus, .sptk-form select:focus, .sptk-form textarea:focus { outline: 2px solid var(--sptk-accent); outline-offset: 1px; }
.sptk-form input[type=file] { font: inherit; max-width: 100%; }
.sptk-choices { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.sptk-choices label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.sptk-consent label { display: flex; gap: 8px; align-items: flex-start; }
.sptk-consent input { margin-top: .3em; }
.sptk-req { color: #e05252; }
.sptk-opt { font-weight: 400; opacity: .7; font-size: .9em; }
.sptk-help { font-size: .87em; opacity: .75; }
.sptk-err { color: #e05252; font-size: .9em; font-weight: 600; }
.sptk-filelist { font-size: .9em; }
.sptk-filelist.is-error { color: #e05252; font-weight: 600; }
.sptk-submit { font-size: 1.08em; padding: .8em 1.8em; }
.sptk-submit[disabled] { opacity: .6; cursor: wait; }
.sptk-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.sptk-notice { padding: 14px 18px; border-radius: 8px; border: 1px solid var(--sptk-line); background: var(--sptk-soft); margin: 0 0 1.2em; }
.sptk-notice ul { margin: .4em 0 0 1.2em; }
.sptk-notice-ok { border-color: #3aa55d; background: rgba(58,165,93,.12); }
.sptk-notice-err { border-color: #e05252; background: rgba(224,82,82,.1); }

@media (max-width: 600px) {
	.sptk-form { padding: 16px; }
	.sptk-facts { grid-template-columns: 1fr; }
	.sptk-facts dd { margin-bottom: 6px; }
}

/* Pealkirjade värv seadetest (kui teema oma on taustal halvasti loetav) */
.sptk.sptk-has-heading h2, .sptk.sptk-has-heading h3, .sptk.sptk-has-heading h4,
.sptk.sptk-has-heading .sptk-job-title a, .sptk.sptk-has-heading .sptk-form legend { color: var(--sptk-heading) !important; }

/* 1.1: lihtsam ja selgem paigutus */
.sptk-where { margin: 0; font-weight: 600; color: var(--sptk-accent); font-size: .95em; }
.sptk-detail .sptk-where { font-size: 1.05em; margin-bottom: .6em; }
.sptk-lead { font-size: 1.1em; margin: 0 0 1.2em; }
.sptk-job { gap: 10px; }
.sptk-blocks { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin: 0 0 1.2em; }
.sptk-block { border: 1px solid var(--sptk-line); border-radius: 10px; padding: 16px 18px; background: var(--sptk-soft); }
.sptk-block h3 { margin: 0 0 .6em; font-size: 1.1em; }
.sptk-block ul { list-style: none; margin: 0; padding: 0; }
.sptk-block li { position: relative; padding-left: 1.5em; margin: 0 0 .45em; }
.sptk-block li::before { content: "✓"; position: absolute; left: 0; color: var(--sptk-accent); font-weight: 700; }
.sptk-block-offer { border-color: var(--sptk-accent); }
.sptk-open { margin-top: 2em; padding: 16px 20px; border: 1px dashed var(--sptk-line); border-radius: 10px; }
.sptk-open p { margin: 0 0 .6em; }
.sptk-open-btns { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 !important; }

/* 1.1: kuulutuse vaade tööportaali stiilis */
.sptk-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; padding: 20px 22px; border: 1px solid var(--sptk-line); border-radius: 12px; background: var(--sptk-soft); margin-bottom: 20px; }
.sptk-head .sptk-detail-title { margin: 0 0 4px; }
.sptk-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; margin-bottom: 28px; }
.sptk-main .sptk-block { border: 0; background: transparent; padding: 0; margin: 0 0 1.4em; border-radius: 0; }
.sptk-main .sptk-block h3 { font-size: 1.2em; margin: 0 0 .5em; }
.sptk-info { border: 1px solid var(--sptk-line); border-radius: 12px; padding: 18px 20px; background: var(--sptk-soft); position: sticky; top: 90px; }
.sptk-info h3 { margin: 0 0 .7em; font-size: 1.1em; }
.sptk-info dl { margin: 0 0 1em; }
.sptk-info dt { font-size: .85em; opacity: .75; margin: 0; }
.sptk-info dd { margin: 0 0 .8em; font-weight: 600; }
.sptk-info dd a { color: inherit; font-weight: 400; }
.sptk-info .sptk-apply-btn { display: block; text-align: center; }
.sptk-form.sptk-collapsed { display: none; }
@media (max-width: 760px) {
	.sptk-layout { grid-template-columns: 1fr; }
	.sptk-info { position: static; order: -1; }
	.sptk-head .sptk-apply-btn { width: 100%; text-align: center; }
}
.sptk-tags { margin: 8px 0 0; display: flex; flex-wrap: wrap; gap: 6px; }
.sptk-job .sptk-tags { margin: 0; }
.sptk-tag { display: inline-block; padding: .2em .7em; border-radius: 999px; border: 1px solid var(--sptk-line); font-size: .88em; }
.sptk-tag-salary { border-color: var(--sptk-accent); font-weight: 700; }

/* 1.2: asukohapõhine kujundus (Sõbra Pesa tume/oranž, Kohvik Paus pastell) */
.sptk .sptk-themed { --sptk-soft: var(--sptk-card); color: var(--sptk-text, inherit); font-family: var(--sptk-font, inherit); }
.sptk .sptk-themed.sptk-panel { background: var(--sptk-bg); border-radius: 16px; padding: 24px; border: 1px solid var(--sptk-line); }
.sptk .sptk-themed.sptk-job { background: var(--sptk-bg); border-color: var(--sptk-line); border-top: 5px solid var(--sptk-accent); }
.sptk .sptk-themed h2, .sptk .sptk-themed h3, .sptk .sptk-themed h4, .sptk .sptk-themed legend, .sptk .sptk-themed .sptk-job-title a, .sptk .sptk-themed .sptk-detail-title { color: var(--sptk-heading) !important; font-family: var(--sptk-font, inherit); }
.sptk .sptk-themed p, .sptk .sptk-themed li, .sptk .sptk-themed dd, .sptk .sptk-themed dt, .sptk .sptk-themed label, .sptk .sptk-themed .sptk-label, .sptk .sptk-themed .sptk-lead { color: var(--sptk-text); }
.sptk .sptk-themed .sptk-where, .sptk .sptk-themed .sptk-block li::before { color: var(--sptk-emph) !important; }
.sptk .sptk-themed .sptk-head, .sptk .sptk-themed .sptk-info, .sptk .sptk-themed .sptk-form { background: var(--sptk-card); border-color: var(--sptk-line); }
.sptk .sptk-themed .sptk-form legend { border-bottom-color: var(--sptk-emph); }
.sptk .sptk-themed .sptk-btn { background: var(--sptk-accent); border-color: var(--sptk-accent); color: var(--sptk-accent-text, #111) !important; }
.sptk .sptk-themed .sptk-tag { border-color: var(--sptk-line); color: var(--sptk-text); background: var(--sptk-card); }
.sptk .sptk-themed .sptk-tag-salary { border-color: var(--sptk-emph); }
.sptk .sptk-themed a:not(.sptk-btn) { color: inherit; }
.sptk .sptk-themed .sptk-form input[type=text], .sptk .sptk-themed .sptk-form input[type=email], .sptk .sptk-themed .sptk-form input[type=tel], .sptk .sptk-themed .sptk-form input[type=number], .sptk .sptk-themed .sptk-form input[type=date], .sptk .sptk-themed .sptk-form select, .sptk .sptk-themed .sptk-form textarea { border-color: var(--sptk-line); }
.sptk .sptk-themed .sptk-form input:focus, .sptk .sptk-themed .sptk-form select:focus, .sptk .sptk-themed .sptk-form textarea:focus { outline-color: var(--sptk-emph); }
.sptk-open-item { display: inline-block; background: transparent !important; }
@media (max-width: 600px) { .sptk .sptk-themed.sptk-panel { padding: 14px; } }

/* 1.2.1: nimekiri keskele joondatud */
.sptk-intro { text-align: center; max-width: 720px; margin-left: auto; margin-right: auto; }
.sptk-filters { justify-content: center; }
.sptk-jobs { display: flex; flex-wrap: wrap; justify-content: center; }
.sptk-jobs > .sptk-job { flex: 0 1 300px; }
.sptk-open { text-align: center; }
.sptk-open-btns { justify-content: center; }
@media (max-width: 660px) { .sptk-jobs > .sptk-job { flex-basis: 100%; } }
