/*
Theme Name: LIWO Kariéra
Theme URI: https://liwofm.com/
Author: LIWO FM / B+N Czech Republic
Description: Kariérní šablona pro WordPress 6.9.4. Subdoména liwofm.com — branding LIWO, struktura stránek podle kariera.bplusn.cz, výpis pozic kompatibilní s WP Job Manager.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.9.4
Requires PHP: 8.1
Text Domain: liwo-kariera
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: career, job-board, facility-management, custom-logo, translation-ready
*/

/* Design tokens — LIWO FM (liwofm.com) */
:root {
  --petrol: #154949;
  --petrol-deep: #0f3535;
  --green: #3d8a7f;
  --beige: #f0e7dd;
  --bondi: #0099af;
  --onahau: #d7f0f2;
  --charlotte: #aae1e8;
  --viking: #51bfcf;
  --viking-dark: #3aa8b8;
  --ink: #111111;
  --muted: #66747c;
  --paper: #fbf8f4;
  --line: #e2e8eb;
  --font: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;
}

html { -webkit-font-smoothing: antialiased; }
body.liwo-body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font);
  line-height: 1.55;
}
img { max-width: 100%; height: auto; }
a { color: var(--bondi); }
h1, h2, h3 { text-wrap: balance; color: var(--petrol); }
.skip-link {
  position: absolute; left: -999px; top: 0;
}
.skip-link:focus { left: 12px; top: 12px; background: #fff; padding: 8px 12px; z-index: 100; }

.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(21, 73, 73, 0.92);
  backdrop-filter: blur(12px);
}
.site-header__inner {
  max-width: 1120px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; min-height: 72px; padding: 0 24px;
}
.site-logo img { height: 32px; width: auto; }
.site-logo span {
  margin-left: 12px; padding-left: 12px; border-left: 1px solid rgba(240,231,221,.3);
  color: var(--beige); font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
}
.nav-menu { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; flex-wrap: wrap; }
.nav-menu a {
  color: rgba(240,231,221,.78); text-decoration: none;
  font-size: 13px; font-weight: 650; letter-spacing: .04em; text-transform: uppercase;
  padding: 8px 10px; border-radius: 8px;
}
.nav-menu a:hover, .nav-menu .current-menu-item a { color: var(--beige); }
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 0 20px; border-radius: 6px;
  background: var(--bondi); color: #fff; font-weight: 700; text-decoration: none; border: 0; cursor: pointer;
}
.btn:hover { background: var(--viking-dark); color: #fff; }
.btn--ghost { background: transparent; border: 1px solid rgba(240,231,221,.4); color: var(--beige); }

.page-hero {
  position: relative; min-height: 48vh; display: flex; align-items: flex-end;
  background: var(--petrol) center/cover no-repeat; color: var(--beige); padding: 96px 24px 56px;
}
.page-hero::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(to top, #154949, rgba(21,73,73,.55));
}
.page-hero__inner { position: relative; z-index: 1; max-width: 1120px; margin: 0 auto; width: 100%; }
.page-hero__kicker { font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--charlotte); font-weight: 700; }
.page-hero h1 { color: var(--beige); font-size: clamp(2rem, 5vw, 3.4rem); margin: 12px 0 0; text-transform: uppercase; }
.page-hero p { max-width: 40rem; color: rgba(240,231,221,.88); }

.wrap { max-width: 1120px; margin: 0 auto; padding: 56px 24px; }
.prose { max-width: 44rem; }
.prose p { line-height: 1.7; color: rgba(17,17,17,.82); }
.grid-3 { display: grid; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.card { background: #fff; border-radius: 18px; padding: 28px; box-shadow: 0 4px 12px rgba(17,17,17,.05); }
.stats { background: var(--petrol); color: var(--beige); }
.stats__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.stats strong { display: block; font-size: 2.8rem; }
.site-footer { background: var(--petrol); color: var(--beige); padding: 56px 24px 24px; }
.site-footer a { color: var(--beige); }
.site-footer__grid { max-width: 1120px; margin: 0 auto; display: grid; gap: 32px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.site-footer__copy { max-width: 1120px; margin: 32px auto 0; padding-top: 16px; border-top: 1px solid rgba(240,231,221,.15); font-size: 12px; opacity: .7; }

@media (max-width: 800px) {
  .nav-menu { display: none; }
  .stats__grid { grid-template-columns: 1fr; }
}

/* Job Manager — user CSS V13/V14, Viking Blue #51BFCF */
.job_filters {
  width: 100% !important; margin: 28px 0 34px !important; padding: 0 !important;
  background: #fff !important; border: 2px solid #51BFCF !important; border-radius: 18px !important;
  box-shadow: 0 4px 12px rgba(17,17,17,.05), 0 1px 3px rgba(17,17,17,.04) !important;
}
.job_filters .search_jobs {
  display: flex !important; flex-flow: row wrap !important; width: 100% !important;
  padding: 24px 26px 20px !important; border-radius: 16px 16px 0 0 !important;
}
.job_filters .search_jobs .search_keywords,
.job_filters .search_jobs .search_location,
.job_filters .search_jobs .search_region,
.job_filters .search_jobs .search_regions {
  display: block !important; float: none !important; width: 50% !important; flex: 0 0 50% !important;
  padding: 0 8px 16px !important; box-sizing: border-box !important;
}
.job_filters .search_jobs .search_keywords label,
.job_filters .search_jobs .search_location label,
.job_filters .search_jobs .search_region label { display: none !important; }
.job_filters .search_jobs .bn-search-region { display: none !important; }
.job_filters .search_jobs input[type="text"],
.job_filters .search_jobs select {
  width: 100% !important; height: 46px !important; padding: 10px 14px !important;
  border: 1px solid #cfd8dc !important; border-radius: 9px !important; font-size: 15px !important;
}
.job_filters .search_jobs .search_submit { width: 100% !important; flex: 0 0 100% !important; padding: 0 8px !important; }
.job_filters .search_jobs input[type="submit"] {
  width: 100% !important; min-height: 46px !important; color: #fff !important;
  background: #51BFCF !important; border: 0 !important; border-radius: 9px !important;
  font-size: 15px !important; font-weight: 700 !important;
}
.job_filters .search_jobs input[type="submit"]:hover { background: #3AA8B8 !important; }
.job_filters .job_types {
  display: flex !important; flex-flow: row wrap !important; background: #F5FBFC !important;
  border-top: 1px solid #dce8eb !important; list-style: none !important; margin: 0 !important; padding: 0 !important;
}
.job_filters .job_types li { flex: 1 1 160px; padding: 14px 18px; text-align: center; border-right: 1px solid #dce8eb; }
.job_filters .showing_jobs { padding: 12px 18px; border-top: 1px solid #dce8eb; border-radius: 0 0 16px 16px; }
.job_filters .showing_jobs .rss_link, .job_filters a[href*="feed"] { display: none !important; }
.job_filters .showing_jobs a { color: #51BFCF !important; }

div.job_listings { width: calc(100% - 32px) !important; max-width: 1000px !important; margin-left: auto !important; margin-right: auto !important; }
.job_listings { list-style: none !important; margin: 28px 0 !important; padding: 0 !important; }
.job_listings .bn-card {
  display: block !important; width: 100% !important; margin: 0 0 20px !important;
  background: #fff !important; border: 1px solid #e2e8eb !important; border-left: 5px solid #51BFCF !important;
  border-radius: 18px !important; box-shadow: 0 4px 12px rgba(17,17,17,.05);
}
.job_listings .bn-card > a.bn-card-link { display: block !important; padding: 28px 32px !important; color: #111 !important; text-decoration: none !important; }
.job_listings .bn-card-title { display: block !important; margin: 0 0 22px !important; font-size: 21px !important; font-weight: 700 !important; }
.job_listings .bn-card-link:hover .bn-card-title { color: #51BFCF !important; }
.job_listings .bn-card-data { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 24px !important; }
.job_listings .bn-card-item { position: relative !important; padding: 0 0 0 18px !important; }
.job_listings .bn-card-item::before {
  content: "" !important; position: absolute !important; top: 5px; left: 3px;
  width: 7px; height: 7px; background: #51BFCF; border-radius: 50%;
}
.job_listings .bn-card-label { display: block; margin-bottom: 5px; color: #66747c; font-size: 12px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.job_listings .bn-card-value { color: #111; font-size: 15px; font-weight: 600; }

.single_job_listing .job-summary-box {
  margin: 0 0 30px; padding: 16px 20px; background: #F5FBFC; border-left: 5px solid #51BFCF; line-height: 1.7;
}
.single_job_listing h1, .single_job_listing .job-summary-box strong { color: #51BFCF; }
.single_job_listing .job-apply-button a {
  display: inline-block; min-width: 220px; padding: 14px 24px; color: #fff; background: #51BFCF;
  border-radius: 4px; font-weight: 700; text-decoration: none;
}
.single_job_listing .job-apply-button a:hover { background: #3AA8B8; color: #fff; }

@media screen and (max-width: 680px) {
  .job_filters .search_jobs .search_keywords,
  .job_filters .search_jobs .search_location,
  .job_filters .search_jobs .search_region { width: 100% !important; flex-basis: 100% !important; }
  .job_listings .bn-card-data { grid-template-columns: 1fr !important; }
  div.job_listings { width: calc(100% - 24px) !important; }
}
