/*
 * Kariérní stránka — startovací CSS
 * Kopíruj do static/career/<slug>/style.css
 *
 * Brandovací CSS proměnné jsou definované inline v base.html (hodnoty z DB):
 *   --brand, --brand-light, --cp, --accent, --text, --muted, --border
 */

/* ============================================================
   RESET / BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: "Helvetica", Arial, sans-serif; color: var(--text); background: #f9f9f9; -webkit-font-smoothing: antialiased; }
a { text-decoration: none; color: inherit; }
img { max-width: 100%; height: auto; display: block; }

/* ============================================================
   NAVIGACE
   ============================================================ */
.c-nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 4vw; height: 72px;
    background: #ffffff;
    border-bottom: 1px solid var(--border);
}

.c-nav__logo img { height: var(--nav-logo-h, 60px); max-width: min(360px, 60vw); object-fit: contain; display: block; }
.c-nav__logo span { font-size: 1.2rem; font-weight: 800; color: var(--brand); }

.c-nav__links { display: flex; gap: 2rem; align-items: center; }
.c-nav__links a { font-size: .9rem; font-weight: 500; color: var(--muted); transition: color .2s; }
.c-nav__links a:hover,
.c-nav__links a.active { color: var(--brand); font-weight: 700; }

.c-nav__cta {
    background: var(--brand); color: var(--brand-ink) !important;
    padding: .55rem 1.4rem; border-radius: var(--btn-radius); font-size: .875rem;
    font-weight: 600; transition: opacity .2s;
}
.c-nav__cta:hover { opacity: .85; }

.c-nav__toggle {
    display: none; background: none; border: none; cursor: pointer;
    font-size: 1.5rem; color: var(--text); padding: .25rem;
}

/* ── Tmavý navbar (volitelně na kariérce) ──
   Pozadí dle volby (--nav-bg), texty/ikony čitelná barva (--nav-ink, dopočítaná
   z kontrastu na serveru). --nav-menu-bg dědí rozbalené mobilní menu. */
.c-nav--dark {
    background: var(--nav-bg, #1a1a1a);
    border-bottom-color: color-mix(in srgb, var(--nav-ink, #fff) 16%, transparent);
    --nav-menu-bg: var(--nav-bg, #1a1a1a);
}
.c-nav--dark .c-nav__logo span { color: var(--nav-ink, #fff); }
.c-nav--dark .c-nav__links a { color: color-mix(in srgb, var(--nav-ink, #fff) 85%, transparent); }
.c-nav--dark .c-nav__links a:hover,
.c-nav--dark .c-nav__links a.active { color: var(--nav-ink, #fff); }
.c-nav--dark .c-nav__links a:not(.c-nav__cta)::after { background: var(--nav-ink, #fff); }
.c-nav--dark .c-nav__toggle { color: var(--nav-ink, #fff); }
/* CTA zůstane odlišené i kdyby akcent splýval s barvou navbaru (jemný obrys) */
.c-nav--dark .c-nav__cta {
    background: var(--accent); color: var(--accent-ink) !important;
}

/* ============================================================
   HERO
   ============================================================ */
.c-hero {
    min-height: 100vh; display: flex; align-items: center;
    /* U vysokého obsahu (dlouhý nadpis + tlačítka + čísla) se obsah nesmí
       zasunout pod fixní navbar — safe center pak zarovná odshora a nechá
       horní padding jako odstup od navigace. */
    align-items: safe center;
    position: relative; overflow: hidden; padding: 144px 4vw 88px;
}
.c-hero__bg {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; z-index: 0;
}
.c-hero__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.55); z-index: 1; }
/* Barevný přechod přes úvodní foto (nastavení kariérní stránky). Krycí barva
   vlevo, doprava mizí do průhledna a prosvítá foto; spodní tmavá vrstva (taky
   zprava mizející) drží čitelnost bílého textu. Barvy z --hero-grad-from/to. */
.c-hero--gradient .c-hero__overlay {
    background:
        linear-gradient(100deg,
            color-mix(in srgb, var(--hero-grad-from, var(--brand)) 86%, transparent) 0%,
            color-mix(in srgb, var(--hero-grad-from, var(--brand)) 58%, transparent) 50%,
            color-mix(in srgb, var(--hero-grad-to, var(--accent)) 16%, transparent) 100%),
        linear-gradient(100deg,
            rgba(0,0,0,.42) 0%, rgba(0,0,0,.14) 58%, rgba(0,0,0,0) 100%);
}
.c-hero--gradient .c-hero__content { text-shadow: 0 1px 12px rgba(0,0,0,.35); }
.c-hero__content { position: relative; z-index: 2; max-width: 760px; color: #fff; }

.c-hero__badge {
    display: inline-flex; align-items: center; gap: .5rem;
    background: rgba(255,255,255,.15);
    padding: .4rem 1rem; border-radius: var(--btn-radius);
    font-size: .8rem; font-weight: 600; letter-spacing: .04em;
    text-transform: uppercase; margin-bottom: 1.5rem;
}
.c-hero__badge span {
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--accent); display: inline-block;
}

.c-hero h1 {
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 900; line-height: 1.08;
    letter-spacing: -.03em; margin-bottom: 1.25rem;
}
.c-hero h1 em { font-style: normal; color: var(--accent); }
.c-hero__sub { font-size: 1.15rem; opacity: .85; max-width: 520px; line-height: 1.65; margin-bottom: 2.5rem; }
.c-hero__more {
    display: inline-flex; align-items: center; gap: .4rem;
    margin: -1.5rem 0 2.5rem; color: #fff; font-weight: 600; font-size: .95rem;
    opacity: .9; border-bottom: 1px solid rgba(255,255,255,.4); padding-bottom: 2px;
    transition: opacity .2s var(--ease), gap .2s var(--ease);
}
.c-hero__more:hover { opacity: 1; gap: .65rem; color: #fff; }
.c-hero--a-center .c-hero__more { margin-left: auto; margin-right: auto; }
.c-hero--a-right .c-hero__more { margin-left: auto; }
#o-nas, #apply-form { scroll-margin-top: 90px; }
.c-hero__actions { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; }
.c-hero__stats { display: flex; gap: 3rem; margin-top: 3.5rem; flex-wrap: wrap; }
.c-hero__stat strong { display: block; font-size: 2rem; font-weight: 900; color: #fff; }
.c-hero__stat span { font-size: .8rem; opacity: .7; text-transform: uppercase; letter-spacing: .05em; }

/* Hero slider (carousel) — background images rotate, content stays */
.c-hero__carousel { position: absolute; inset: 0; z-index: 0; }
.c-hero__carousel .carousel-inner,
.c-hero__carousel .carousel-item { height: 100%; }
.c-hero__carousel .carousel-item { position: absolute; inset: 0; }
.c-hero__carousel .carousel-item.active { position: relative; }
.c-hero__slide-caption {
    position: absolute; left: 4vw; bottom: 2rem; z-index: 3;
    color: #fff; max-width: 520px;
}
.c-hero__slide-caption strong { display: block; font-size: 1.4rem; font-weight: 800; }
.c-hero__slide-caption span { font-size: .95rem; opacity: .9; }
.c-hero__carousel .carousel-indicators { z-index: 4; margin-bottom: 1rem; }
.c-hero__carousel .carousel-indicators [data-bs-target] {
    width: 10px; height: 10px; border-radius: 50%; border: 0;
    background: rgba(255,255,255,.55);
}
.c-hero__carousel .carousel-indicators .active { background: #fff; }

/* Hero video na pozadí (YouTube/Vimeo iframe — pokrytí celého hero) */
.c-hero__video-wrap { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.c-hero__video-iframe {
    position: absolute; top: 50%; left: 50%;
    width: 100vw; height: 56.25vw;            /* 16:9 podle šířky */
    min-width: 177.78vh; min-height: 100vh;   /* pokrytí podle výšky */
    transform: translate(-50%, -50%);
    border: 0; pointer-events: none;
}

/* ============================================================
   TLAČÍTKA
   ============================================================ */
.btn-primary-cp {
    background: var(--accent); color: var(--accent-ink);
    padding: .85rem 2rem; border-radius: var(--btn-radius); font-weight: 700;
    font-size: .95rem; display: inline-flex; align-items: center; gap: .5rem;
    transition: background .2s;
    border: none; cursor: pointer;
}
.btn-primary-cp:hover { color: var(--accent-ink); }

.btn-ghost {
    border: none; background: #f9f9f9; color: #1a1a1a;
    padding: .85rem 2rem; border-radius: var(--btn-radius); font-weight: 600;
    font-size: .95rem; transition: background .2s;
}
.btn-ghost:hover { background: #ffffff; color: #1a1a1a; }

.btn-white {
    background: #fff; color: var(--brand);
    padding: .85rem 2rem; border-radius: var(--btn-radius); font-weight: 700;
    display: inline-flex; align-items: center; gap: .5rem;
    margin-top: 2rem;
}
.btn-white:hover { color: var(--brand); }

/* Formulářová pole (Django widgety s .form-control / .form-select).
   Bílé pozadí + jemný rámeček, aby pole byla vidět na světlém i šedém
   podkladu sekce (dřív #f9f9f9 bez rámečku splývalo s pozadím stránky). */
.form-control, .form-select {
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: var(--btn-radius);
    color: var(--text);
}
textarea.form-control { border-radius: var(--radius); }
.form-control:focus, .form-select:focus {
    background-color: #ffffff;
    border: 1px solid var(--brand);
    box-shadow: none;
}

/* ============================================================
   SECTIONS — obecné
   ============================================================ */
section { padding: 6rem 4vw; }

.section-inner { max-width: 1200px; margin: 0 auto; }

.section-label {
    font-size: .75rem; font-weight: 700; letter-spacing: .12em;
    text-transform: uppercase; margin-bottom: .75rem;
    /* Akcent ztmavený, aby byl čitelný i na světlém pozadí */
    color: color-mix(in srgb, var(--accent) 72%, #1a1a1a);
}
.section-title {
    font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 800;
    line-height: 1.15; letter-spacing: -.02em;
}
.section-lead { font-size: 1.1rem; color: var(--muted); line-height: 1.7; max-width: 560px; margin-top: .75rem; }

/* ============================================================
   PROČ K NÁM — benefit cards
   ============================================================ */
.why-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.5rem; margin-top: 3rem;
}
.why-card {
    background: #ffffff;
    border-radius: var(--radius); padding: 2rem;
}
.why-card__icon {
    width: 52px; height: 52px; border-radius: 14px;
    background: var(--brand-light); display: flex;
    align-items: center; justify-content: center;
    font-size: 1.4rem; color: var(--brand); margin-bottom: 1.25rem;
}
.why-card__icon-img { width: 28px; height: 28px; object-fit: contain; display: block; }
.why-card h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: .5rem; }
.why-card p { font-size: .9rem; color: var(--muted); line-height: 1.6; }

/* ============================================================
   VÝPIS POZIC (home + jobs page)
   ============================================================ */
.jobs-section { background: #f9f9f9; }

/* ── Highlighty firmy — tmavý brand band s výraznými čísly (hned pod hero) ── */
.highlights-section {
    background: var(--cp);
    color: #fff; overflow: hidden;
    padding-top: 4rem; padding-bottom: 4rem;
}
.highlights-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 2.25rem 3rem;
    position: relative; z-index: 1;
}
.highlight { padding-left: 1.4rem; border-left: 3px solid var(--accent); }
.highlight__value {
    font-size: clamp(2.4rem, 4.5vw, 3.6rem); font-weight: 900;
    line-height: 1; color: #fff;
}
.highlight__label {
    margin-top: .7rem; font-size: .95rem; line-height: 1.45;
    color: rgba(255,255,255,.82);
}
.jobs-list-wrap { margin-top: 2.5rem; }
.job-list { display: flex; flex-direction: column; gap: 1rem; margin-top: 2.5rem; }
.job-row {
    display: grid; align-items: center; gap: 1.5rem;
    grid-template-columns: 1fr auto auto;
    background: #ffffff;
    border-radius: var(--radius); padding: 1.4rem 1.75rem;
    position: relative; overflow: hidden; color: inherit;
}
.job-row::before {
    content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
    background: var(--brand); transform: scaleY(0); transform-origin: bottom;
    transition: transform .25s var(--ease);
}
.job-row:hover::before { transform: scaleY(1); }
.job-row__main { min-width: 0; }
.job-row__title { font-weight: 700; font-size: 1.12rem; letter-spacing: -.01em; }
.job-row__meta { display: flex; flex-wrap: wrap; gap: 1rem; font-size: .85rem; color: var(--muted); margin-top: .4rem; }
.job-row__loc {
    display: flex; align-items: center; gap: .45rem;
    font-size: .9rem; font-weight: 600; color: var(--text); white-space: nowrap;
}
.job-row__loc i { color: var(--brand); }
.job-row__btn {
    display: inline-flex; align-items: center; white-space: nowrap;
    background: var(--brand); color: var(--brand-ink);
    padding: .7rem 1.5rem; border-radius: var(--btn-radius);
    font-size: .9rem; font-weight: 700;
    transition: background .2s, color .2s;
}
.job-row:hover .job-row__btn {
    background: var(--accent); color: var(--accent-ink);
}
.job-row__pill {
    background: var(--brand); color: #fff;
    padding: .5rem 1.25rem; border-radius: var(--btn-radius);
    font-size: .82rem; font-weight: 600; white-space: nowrap; transition: opacity .2s;
}
.job-row__pill:hover { opacity: .85; }
.featured-tag {
    background: var(--accent); color: var(--accent-ink); font-size: .65rem;
    font-weight: 700; padding: 2px 8px; border-radius: var(--btn-radius);
    text-transform: uppercase; letter-spacing: .04em;
    margin-left: .5rem; vertical-align: middle;
}
.jobs-cta { text-align: center; margin-top: 2rem; }
.jobs-all-link { color: var(--brand); font-weight: 600; }
.jobs-all-link:hover { text-decoration: underline; }

/* ============================================================
   CTA STRIP
   ============================================================ */
.contact-strip { background: var(--brand); color: #fff; padding: 5rem 4vw; text-align: center; }
.contact-strip h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; }
.contact-strip p { opacity: .8; margin-top: .5rem; }
.cta-inner { max-width: 600px; margin: 0 auto; }

/* ============================================================
   FOOTER
   ============================================================ */
.c-footer { background: var(--footer-bg, #1a1a1a); color: var(--footer-ink, #f9f9f9); padding: 3rem 4vw 2rem; font-size: .875rem; }
.c-footer__inner { max-width: 1200px; margin: 0 auto; }
.c-footer__top {
    display: grid; gap: 3rem; margin-bottom: 2.5rem;
    grid-template-columns: 1.7fr 1fr 1.3fr 1fr;
    align-items: start;
}
.c-footer__logo-col { display: flex; justify-content: flex-end; align-items: flex-start; }
.c-footer__logo-col .c-footer__logo {
    max-height: var(--nav-logo-h, 60px); max-width: 300px; object-fit: contain;
    margin: 0;
}
.c-footer__logo-text { color: var(--footer-ink, #fff); font-weight: 800; font-size: 1.15rem; }

.c-footer__brand strong { font-size: 1.1rem; color: var(--footer-ink, #fff); }
.c-footer__brand p { margin-top: .5rem; max-width: 280px; line-height: 1.6; }
.c-footer__brand .mt-2 { margin-top: .5rem; }
/* Footer logo renders in its natural colours, identical to the header logo
   (no white-inversion "enhancement"). */
.c-footer__logo { max-height: var(--nav-logo-h, 60px); margin-bottom: .75rem; }

.c-footer__links h4 {
    font-size: .8rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: .08em; color: var(--footer-ink, #fff); margin-bottom: 1rem;
}
.c-footer__links ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.c-footer__links a { color: var(--footer-ink, #f9f9f9); opacity: .85; transition: color .2s, opacity .2s; }
.c-footer__links a:hover { color: var(--footer-ink, #fff); opacity: 1; }
.c-footer__links--nav a::before {
    content: "→";
    display: inline-block;
    margin-right: .5rem;
    opacity: .55;
    transition: transform .2s, opacity .2s, color .2s;
}
.c-footer__links--nav a:hover::before { transform: translateX(3px); opacity: 1; color: var(--brand); }

.c-footer__bottom {
    border-top: 1px solid color-mix(in srgb, var(--footer-ink, #fff) 16%, transparent); padding-top: 1.5rem;
    display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between;
}
.c-footer__bottom a { color: var(--footer-ink, #f9f9f9); opacity: .85; transition: color .2s, opacity .2s; }
.c-footer__bottom a:hover { color: var(--footer-ink, #fff); opacity: 1; }

/* ============================================================
   STRÁNKY (page.html)
   ============================================================ */
.page-section { padding: calc(72px + 2rem) 4vw 4rem; }
.page-section--hero { padding: 4rem 4vw; }
.page-inner { max-width: 860px; margin: 0 auto; }

.page-breadcrumb { margin-bottom: 2rem; }
.page-breadcrumb__list {
    display: flex; gap: .5rem; align-items: center;
    font-size: .875rem; color: var(--muted);
}
.page-breadcrumb__link { color: var(--muted); }
.page-breadcrumb__link:hover { color: var(--brand); }
.page-breadcrumb__sep { font-size: .7rem; }

.page-title {
    font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 800;
    letter-spacing: -.02em; margin-bottom: 2rem;
}
.page-body { font-size: 1.05rem; line-height: 1.8; color: #1a1a1a; }
.page-body h2, .page-body h3 { font-size: 1.2rem; font-weight: 700; margin-top: 2rem; margin-bottom: .75rem; }
.page-body ul, .page-body ol { padding-left: 1.5rem; margin-bottom: 1rem; }
.page-body li { margin-bottom: .35rem; }
.page-body p { margin-bottom: 1rem; }

.page-more { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--border); }
.page-more__label {
    font-size: .8rem; font-weight: 700; letter-spacing: .1em;
    text-transform: uppercase; color: var(--muted); margin-bottom: 1rem;
}
.page-more__links { display: flex; flex-wrap: wrap; gap: .5rem; }
.page-more__link {
    background: #ffffff; border: none; border-radius: var(--btn-radius);
    padding: .4rem 1rem; font-size: .875rem; color: var(--text);
    transition: background .15s, color .15s;
}
.page-more__link:hover { color: var(--brand); }
.page-more__link--jobs {
    background: var(--brand); color: var(--brand-ink); font-weight: 600;
}
.page-more__link--jobs:hover { background: var(--brand); color: var(--brand-ink); }

/* ============================================================
   JOB DETAIL (job_detail.html)
   ============================================================ */
.jd-hero {
    /* Bez fotky: plná barva značky lehce ztmavená,
       aby bílý text zůstal čitelný i u světlých barev. */
    background: color-mix(in srgb, var(--cp) 75%, #1a1a1a);
    color: #fff; padding: calc(72px + 2rem) 4vw 3rem;
}
.jd-hero__back {
    color: rgba(255,255,255,.6); font-size: .875rem;
    display: inline-flex; align-items: center; gap: .4rem; margin-bottom: 1.5rem;
}
.jd-hero__back:hover { color: #fff; }
.jd-hero__title {
    font-size: clamp(1.8rem, 4vw, 3rem); font-weight: 900;
    letter-spacing: -.03em; margin-bottom: 1.25rem;
}
.jd-hero__meta { display: flex; flex-wrap: wrap; gap: .6rem; }

.jd-meta-pill {
    background: rgba(255,255,255,.15); border-radius: var(--btn-radius);
    padding: .3rem .9rem; font-size: .82rem; font-weight: 500;
    display: inline-flex; align-items: center; gap: .4rem;
}
.jd-meta-pill--featured { background: var(--accent); font-weight: 700; }

.jd-section { padding: 3rem 4vw; }
.jd-layout {
    display: grid; grid-template-columns: 1fr 340px;
    gap: 3rem; align-items: start;
}

.jd-body__content { font-size: 1.05rem; line-height: 1.8; color: #1a1a1a; }
.jd-body__content h2, .jd-body__content h3 { font-size: 1.15rem; font-weight: 700; margin-top: 1.75rem; margin-bottom: .6rem; }
.jd-body__content ul { padding-left: 1.25rem; }
.jd-body__content li { margin-bottom: .3rem; }

.jd-benefits { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--border); }
.jd-benefits__title { font-size: 1.1rem; font-weight: 700; margin-bottom: 1rem; }
.jd-benefits__title i { color: var(--brand); }
.jd-benefits__list { display: flex; flex-wrap: wrap; gap: .5rem; }
.jd-benefit-pill {
    background: #ffffff; border: none; border-radius: var(--btn-radius);
    padding: .35rem .9rem; font-size: .875rem;
    display: inline-flex; align-items: center; gap: .4rem;
}
.jd-benefit-pill i { color: var(--brand); }

.jd-apply { margin-top: 3rem; padding-top: 2.5rem; border-top: 1px solid var(--border); }
.jd-apply__title { font-size: 1.3rem; font-weight: 800; margin-bottom: 1.5rem; }
.jd-apply__title i { color: var(--brand); }

.jd-applicant-info {
    background: #ffffff; border: none; border-radius: var(--radius);
    padding: 1rem 1.25rem; display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem;
}
.jd-applicant-avatar {
    width: 42px; height: 42px; border-radius: 50%;
    background: var(--brand); color: #fff;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; font-size: 1.2rem;
}
.jd-applicant-name { font-weight: 600; }
.jd-applicant-email { font-size: .875rem; color: var(--muted); }

.jd-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1rem; }
.jd-field { margin-bottom: 1rem; }

/* Promo „udělej si profil" — sekundární barva pozadí */
.jd-profile-cta {
    display: flex; gap: 1.1rem; align-items: flex-start;
    background: var(--cs); color: var(--accent-ink);
    border-radius: var(--radius); padding: 1.5rem 1.6rem; margin-bottom: 2rem;
}
.jd-profile-cta__icon {
    flex: 0 0 auto; width: 44px; height: 44px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    background: color-mix(in srgb, var(--accent-ink) 16%, transparent);
    font-size: 1.3rem;
}
.jd-profile-cta__body strong { display: block; font-size: 1.05rem; margin-bottom: .5rem; }
.jd-profile-cta__body ul { margin: 0 0 1rem; padding-left: 1.1rem; font-size: .9rem; opacity: .9; }
.jd-profile-cta__body li { margin-bottom: .2rem; }
.jd-profile-cta__btns { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.jd-profile-cta__btn {
    display: inline-flex; align-items: center;
    background: var(--accent-ink); color: var(--cs);
    padding: .55rem 1.25rem; border-radius: var(--btn-radius); font-weight: 700; font-size: .9rem;
}
.jd-profile-cta__btn:hover { color: var(--cs); }
.jd-profile-cta__link { color: var(--accent-ink); font-weight: 600; font-size: .9rem; text-decoration: underline; }
.jd-profile-cta__link:hover { color: var(--accent-ink); opacity: .8; }
.jd-consent-note { font-size: .82rem; color: var(--muted); margin: 1rem 0 1.5rem; }
.jd-consent-note a { color: var(--brand); font-weight: 600; }
@media (max-width: 560px) { .jd-profile-cta { flex-direction: column; } }

.jd-cv-existing {
    background: #ffffff; border: none; border-radius: var(--radius);
    padding: .75rem 1rem; display: flex; align-items: center; gap: .75rem;
}
.jd-cv-existing__name { font-weight: 500; }
.jd-cv-existing__label { font-size: .8rem; color: var(--muted); }

.jd-sidebar { position: sticky; top: 90px; }

.jd-cta-card {
    background: #ffffff; border: none; border-radius: var(--radius);
    padding: 1.75rem; margin-bottom: 1.5rem; text-align: center;
}
.jd-cta-card__btn { display: block; text-align: center; border-radius: var(--btn-radius); }
.jd-cta-card__note { margin-top: .75rem; font-size: .8rem; color: var(--muted); }

.jd-employer-card {
    background: #ffffff; border: none; border-radius: var(--radius); padding: 1.75rem;
}
.jd-employer-header { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.jd-employer-logo {
    width: 48px; height: 48px; object-fit: contain;
    border-radius: 8px; padding: 3px;
}
/* Tmavý navbar = světlé logo → na bílé kartě dostane tmavou podložku, ať vynikne */
.jd-employer-logo--plain {
    background: var(--nav-bg, var(--brand));
    padding: 5px;
}
.jd-employer-avatar {
    width: 48px; height: 48px; border-radius: 8px;
    background: var(--brand); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.3rem; font-weight: 700; flex-shrink: 0;
}
.jd-employer-name { font-weight: 700; }
.jd-employer-url { font-size: .8rem; color: var(--muted); }
.jd-employer-url i { font-size: .65rem; }
.jd-employer-tagline { font-size: .875rem; color: var(--muted); margin-bottom: 1rem; }
.jd-employer-contacts {
    border-top: 1px solid var(--border); padding-top: 1rem;
    display: flex; flex-direction: column; gap: .5rem; font-size: .875rem;
}
.jd-contact-item { display: flex; gap: .5rem; }
.jd-contact-item i { color: var(--muted); margin-top: 2px; flex-shrink: 0; }
.jd-contact-item a { color: inherit; }
.jd-employer-about {
    display: block; text-align: center; margin-top: 1rem;
    padding: .5rem; background: #f9f9f9; border: none; border-radius: var(--btn-radius);
    font-size: .875rem; color: var(--text);
}
.jd-employer-about:hover { background: #f9f9f9; color: var(--text); }

/* ============================================================
   O NÁS / PRACUJÍ U NÁS / GALERIE / ZÁKAZNÍCI
   ============================================================ */
.about-section { background: #f9f9f9; }
.about-text {
    max-width: 760px; font-size: 1.05rem; line-height: 1.8;
    color: var(--muted); white-space: pre-line;
}

.testi-section { background: #f9f9f9; }
.testi-grid {
    display: grid; gap: 1.5rem;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.testi-card {
    background: #ffffff; border-radius: var(--radius); padding: 2rem;
    margin: 0;
}
.testi-card blockquote {
    font-size: 1.02rem; line-height: 1.7; color: var(--text);
    margin: 0 0 1.5rem; font-style: italic;
}
.testi-person { display: flex; align-items: center; gap: .9rem; }
.testi-photo {
    width: 52px; height: 52px; border-radius: 50%;
    object-fit: cover; flex-shrink: 0;
}
.testi-photo--ph {
    display: flex; align-items: center; justify-content: center;
    background: var(--brand); color: #fff; font-weight: 800; font-size: 1.2rem;
}
.testi-person strong { display: block; font-size: .95rem; }
.testi-person small { color: var(--muted); font-size: .82rem; }

.gallery-section { background: #f9f9f9; }
.gallery-grid {
    display: grid; gap: 1rem;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.gallery-item {
    margin: 0; position: relative; border-radius: 14px;
    overflow: hidden; aspect-ratio: 4/3;
}
.gallery-item img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .3s;
}
.gallery-item:hover img { transform: scale(1.05); }
.gallery-item figcaption {
    position: absolute; inset: auto 0 0 0; padding: .6rem .8rem;
    background: rgba(0,0,0,.5);
    color: #fff; font-size: .82rem;
}

.clients-section { background: #f9f9f9; }
.clients-row {
    display: grid; gap: 1.25rem; margin-top: 2.5rem;
    grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 992px) { .clients-row { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .clients-row { grid-template-columns: repeat(2, 1fr); } }
.client-logo {
    display: flex; align-items: center; justify-content: center;
    background: #ffffff;
    border-radius: var(--radius); padding: 1.5rem 1.25rem; aspect-ratio: 1 / 1;
    transition: transform .25s, box-shadow .25s;
}
.client-logo:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(15, 23, 42, .12); }
.client-logo img {
    max-height: 56px; max-width: 100%; width: auto; object-fit: contain;
    opacity: .8; transition: opacity .2s;
}
.client-logo:hover img { opacity: 1; }
.client-logo__name {
    font-size: clamp(1.05rem, .9rem + .9vw, 1.5rem);
    font-weight: 800; letter-spacing: -.01em; line-height: 1.15;
    text-align: center; color: #1f2937; transition: color .2s;
}
.client-logo--text:hover .client-logo__name { color: var(--brand); }

/* ============================================================
   MODERN 2026 — finální vrstva (animace, gradient, detaily)
   ============================================================ */
:root {
    --radius: 20px;
    --btn-radius: 9999px;
    --heading-font: "Helvetica", Arial, sans-serif;
    --ease: cubic-bezier(.22,1,.36,1);
}

/* ============================================================
   PERSONALIZACE KARIÉRKY (font nadpisů, rohy, zarovnání/výška hero)
   ============================================================ */
h1, h2, h3, h4, h5, h6 { font-family: var(--heading-font); }

/* Font nadpisů (volba náboráře) */
body.font-serif { --heading-font: Georgia, Cambria, 'Times New Roman', serif; }
body.font-condensed { --heading-font: 'Arial Narrow', 'Helvetica Neue', system-ui, sans-serif; }

/* Zaoblení rohů (volba náboráře) */
body.corners-soft { --radius: 14px; --btn-radius: 14px; }
body.corners-sharp { --radius: 4px; --btn-radius: 2px; }

/* Zarovnání textu v hero */
.c-hero--a-center .c-hero__content { margin-left: auto; margin-right: auto; text-align: center; }
.c-hero--a-center .c-hero__sub { margin-left: auto; margin-right: auto; }
.c-hero--a-center .c-hero__actions,
.c-hero--a-center .c-hero__stats { justify-content: center; }
.c-hero--a-right .c-hero__content { margin-left: auto; text-align: right; }
.c-hero--a-right .c-hero__sub { margin-left: auto; }
.c-hero--a-right .c-hero__actions,
.c-hero--a-right .c-hero__stats { justify-content: flex-end; }

/* Výška hero */
.c-hero--h-large { min-height: 72vh; }
.c-hero--h-compact { min-height: 56vh; }

/* Plynulé, jemné typografické vyladění */
.section-title,
.c-hero h1,
.page-title,
.jd-hero__title { text-wrap: balance; }
.section-lead,
.about-text { text-wrap: pretty; }
body { scroll-padding-top: 90px; }

/* — Scroll-reveal (jen když běží JS; respektuje reduce-motion) — */
.js .reveal {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity .8s var(--ease), transform .8s var(--ease);
    will-change: opacity, transform;
}
.js .reveal.is-visible { opacity: 1; transform: none; }
/* Postupné nabíhání dlaždic v mřížkách */
.js .reveal.is-visible .why-card,
.js .reveal.is-visible .testi-card,
.js .reveal.is-visible .gallery-item,
.js .reveal.is-visible .news-card {
    animation: cardIn .7s var(--ease) both;
}
.js .reveal.is-visible :is(.why-card,.testi-card,.gallery-item,.news-card):nth-child(2) { animation-delay: .07s; }
.js .reveal.is-visible :is(.why-card,.testi-card,.gallery-item,.news-card):nth-child(3) { animation-delay: .14s; }
.js .reveal.is-visible :is(.why-card,.testi-card,.gallery-item,.news-card):nth-child(4) { animation-delay: .21s; }
.js .reveal.is-visible :is(.why-card,.testi-card,.gallery-item,.news-card):nth-child(5) { animation-delay: .28s; }
.js .reveal.is-visible :is(.why-card,.testi-card,.gallery-item,.news-card):nth-child(6) { animation-delay: .35s; }
.js .reveal.is-visible :is(.why-card,.testi-card,.gallery-item,.news-card):nth-child(n+7) { animation-delay: .42s; }
@keyframes cardIn {
    from { opacity: 0; transform: translateY(22px) scale(.98); }
    to   { opacity: 1; transform: none; }
}

/* — Navigace: animovaná linka pod odkazem — */
.c-nav__links a:not(.c-nav__cta) { position: relative; }
.c-nav__links a:not(.c-nav__cta)::after {
    content: ''; position: absolute; left: 0; right: 100%; bottom: -6px;
    height: 2px; border-radius: 2px; background: var(--brand);
    transition: right .28s var(--ease);
}
.c-nav__links a:not(.c-nav__cta):hover::after,
.c-nav__links a:not(.c-nav__cta).active::after { right: 0; }
.c-nav__cta:hover { opacity: 1; }

/* — Hero: plynulý nájezd — */
.c-hero__content > * { animation: heroIn .9s var(--ease) both; }
.c-hero__content > *:nth-child(2) { animation-delay: .08s; }
.c-hero__content > *:nth-child(3) { animation-delay: .16s; }
.c-hero__content > *:nth-child(4) { animation-delay: .24s; }
.c-hero__content > *:nth-child(5) { animation-delay: .32s; }
@keyframes heroIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }

/* — Tlačítka: sekundární varianta — */
.btn-outline-cp {
    display: inline-flex; align-items: center; gap: .5rem;
    margin-top: 1.75rem; padding: .8rem 1.8rem; border-radius: var(--btn-radius);
    font-weight: 700; font-size: .95rem;
    color: var(--brand); background: #ffffff; border: none;
    transition: background .2s, color .2s;
}
.btn-outline-cp:hover {
    background: var(--brand); color: var(--brand-ink);
}
/* Uvnitř bílé karty '.branch-solo' zůstává tlačítko šedé, aby bylo vidět na bílém podkladu */
.branch-solo .btn-outline-cp { background: #f9f9f9; }

/* — Sekce: výrazné prostřídání pozadí pro vizuální rytmus — */
section { position: relative; }
.section-title { position: relative; }

/* Bílé sekce */
.about-section,
.gallery-section,
.branches-section { background: #f9f9f9; }

/* Tónované sekce */
.jobs-section,
.testi-section,
.news-section { background: #f9f9f9; }

/* „Proč si nás vybrat“ — světlý band */
.why-section { background: #f9f9f9; }

/* Benefity — brand band */
.benefits-section {
    background: color-mix(in srgb, var(--brand) 9%, #fff);
    overflow: hidden;
}
.benefits-section .section-inner { position: relative; z-index: 1; }

/* Zákazníci */
.clients-section { background: #f9f9f9; }

/* Doporučení — jemný brand band */
.reviews-section {
    background: color-mix(in srgb, var(--brand) 7%, #fff);
}
.reviews-avg {
    display: flex; align-items: center; gap: .65rem; flex-wrap: wrap;
    margin: .5rem 0 2.25rem;
}
.reviews-section .testi-grid { margin-top: 1rem; }
.reviews-avg__num { font-size: 2rem; font-weight: 900; color: var(--brand); line-height: 1; }
.reviews-avg__stars { color: var(--brand); font-size: 1.05rem; letter-spacing: .06em; }
.reviews-avg__cnt { color: var(--muted); font-size: .9rem; }
.review-card__stars { color: var(--brand); font-size: .95rem; letter-spacing: .06em; margin-bottom: .9rem; }
.review-card blockquote { margin-bottom: 1.25rem; }

/* ── Tmavá / brand sekce (bílý obsah) — pro vizuální rytmus ── */
.section--dark {
    background: var(--cp) !important;
    color: #fff; overflow: hidden;
}
.section--dark .section-inner { position: relative; z-index: 1; }
.section--dark .section-label { color: rgba(255,255,255,.75); }
.section--dark .section-title { color: #fff; }
.section--dark .section-lead { color: rgba(255,255,255,.85); }

/* Karty uvnitř tmavé sekce → průhledně bílé „glass" */
.section--dark .why-card,
.section--dark .testi-card {
    background: rgba(255,255,255,.08);
    color: #fff;
}
.section--dark .why-card:hover,
.section--dark .testi-card:hover {
    background: rgba(255,255,255,.13);
}
.section--dark .why-card h3,
.section--dark .testi-card strong { color: #fff; }
.section--dark .why-card p,
.section--dark .testi-card blockquote,
.section--dark .testi-person small { color: rgba(255,255,255,.8); }
.section--dark .why-card__icon {
    background: rgba(255,255,255,.16); color: #fff;
}
.section--dark .testi-photo--ph {
    background: rgba(255,255,255,.2); color: #fff;
}
/* Doporučení v tmavé sekci — průměr a hvězdy světlé */
.section--dark .reviews-avg__num { color: #fff; }
.section--dark .reviews-avg__cnt { color: rgba(255,255,255,.75); }
.section--dark .reviews-avg__stars,
.section--dark .review-card__stars { color: var(--brand); }

/* — Karty — */
.why-card { border-radius: var(--radius); }
.testi-card { border-radius: var(--radius); }

/* — O NÁS: dvousloupcový layout obrázek + text — */
.about-grid {
    display: grid; grid-template-columns: 1.05fr .95fr;
    gap: 4rem; align-items: center;
}
.about-grid--solo { grid-template-columns: 1fr; max-width: 820px; }
.about-copy .about-text { margin-top: 1rem; }
.about-media { position: relative; }
.about-media img {
    width: 100%; border-radius: var(--radius);
    aspect-ratio: 4/5; object-fit: cover; position: relative; z-index: 1;
}
/* Volitelný poměr stran fotky „O nás" (dvojitá třída → přebije i mobilní
   pravidlo .about-media img níže). Default 4-5 nechává výchozí 4/5. */
.about-media.about-media--r4-3 img { aspect-ratio: 4 / 3; }
.about-media.about-media--r1-1 img { aspect-ratio: 1 / 1; }
/* — Detail pozice: hero banner s obrázkem (částečná výška) — */
.jd-hero { position: relative; overflow: hidden; }
.jd-hero--img { min-height: 380px; display: flex; align-items: flex-end; padding-bottom: 3rem; }
.jd-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
/* Zapnutý barevný přechod (nastavení) = stejný gradient přes foto jako na
   úvodu. Když je vypnutý, proměnné --hero-grad-* nejsou nastavené → barevná
   vrstva je průhledná a zůstane původní tmavý závoj. */
.jd-hero__overlay {
    position: absolute; inset: 0; z-index: 1;
    background:
        linear-gradient(100deg,
            color-mix(in srgb, var(--hero-grad-from, transparent) 82%, transparent) 0%,
            color-mix(in srgb, var(--hero-grad-from, transparent) 50%, transparent) 55%,
            color-mix(in srgb, var(--hero-grad-to, transparent) 14%, transparent) 100%),
        rgba(0,0,0,.5);
}
.jd-hero__inner { position: relative; z-index: 2; width: 100%; }
.jd-hero__head { display: flex; align-items: center; gap: .9rem; margin-bottom: 1rem; }
.jd-hero__logo {
    height: 46px; max-width: 150px; object-fit: contain;
    background: #fff; border-radius: 10px; padding: 5px 8px;
}
/* Tmavý navbar = světlé logo → na tmavém hero nepotřebuje bílou podložku */
.jd-hero__logo--plain {
    height: 52px; max-width: 200px;
    background: transparent; border-radius: 0; padding: 0;
}
.jd-hero__eyebrow { font-size: .95rem; font-weight: 600; opacity: .9; }

/* — Detail pozice: postranní karta s detaily — */
.jd-detail-card {
    background: #ffffff;
    border-radius: var(--radius); padding: 1.5rem; margin-bottom: 1.5rem;
}
.jd-detail-card__title { font-size: 1rem; font-weight: 800; margin-bottom: 1rem; }
.jd-detail-card__title i { color: var(--brand); }
.jd-dl { margin: 0; display: grid; gap: .9rem; }
.jd-dl dt {
    font-size: .75rem; text-transform: uppercase; letter-spacing: .04em;
    color: var(--muted); font-weight: 700;
    display: flex; align-items: center; gap: .45rem; margin-bottom: .15rem;
}
.jd-dl dt i { color: var(--brand); font-size: .95rem; }
.jd-dl dd { margin: 0; font-size: .92rem; font-weight: 600; }
.jd-dl__sub { font-size: .8rem; font-weight: 400; color: var(--muted); }
.jd-tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1.1rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.jd-tags span {
    font-size: .72rem; font-weight: 700; padding: .25rem .65rem;
    border-radius: var(--btn-radius); background: var(--brand-light); color: var(--brand);
}
.jd-branch-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .85rem; }
.jd-branch-list li { display: flex; flex-direction: column; }
.jd-branch-list strong { font-size: .92rem; }
.jd-branch-list span { font-size: .82rem; color: var(--muted); }
.jd-contact-person { font-weight: 700; margin-bottom: .6rem; }
.jd-contact-role { font-weight: 500; color: var(--muted); }

/* — Detail pozice: spodní CTA banner (Daimler-style) — */
.jd-cta-banner {
    position: relative; overflow: hidden; padding: 5rem 4vw;
    /* Bez fotky: plná barva značky lehce ztmavená pro čitelnost. */
    background: color-mix(in srgb, var(--cp) 75%, #1a1a1a);
    color: #fff; text-align: center;
}
.jd-cta-banner__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.jd-cta-banner__overlay {
    position: absolute; inset: 0; z-index: 1;
    background: color-mix(in srgb, var(--brand) 78%, #000); opacity: .72;
}
.jd-cta-banner__inner { position: relative; z-index: 2; max-width: 640px; margin: 0 auto; }
.jd-cta-banner h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; letter-spacing: -.02em; }
.jd-cta-banner p { opacity: .9; margin: .6rem 0 0; }
.jd-cta-banner .btn-white { margin-top: 1.75rem; }

/* — Detail pozice: pruh klíčových faktů — */
.jd-facts-band { padding: 0 4vw; margin-top: -2rem; position: relative; z-index: 3; }
.jd-facts {
    display: grid; gap: 1px; background: var(--border);
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    border-radius: var(--radius);
    overflow: hidden;
}
.jd-fact {
    background: #ffffff; padding: 1.1rem 1.3rem;
    display: flex; align-items: center; gap: .8rem;
}
.jd-fact i { font-size: 1.3rem; color: var(--brand); }
.jd-fact span { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.jd-fact strong { display: block; font-size: .95rem; }

/* — Detail pozice: „Co u nás získáte“ (benefity s ikonkami) — */
.jd-perks { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--border); }
.jd-perks__title { font-size: 1.15rem; font-weight: 800; margin-bottom: 1.25rem; }
.jd-perks__title i { color: var(--brand); }
.jd-perks__grid {
    display: grid; gap: .75rem;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.jd-perk {
    display: flex; align-items: center; gap: .75rem;
    background: #ffffff;
    border-radius: var(--radius); padding: .85rem 1rem; font-size: .92rem; font-weight: 600;
}
.jd-perk__icon {
    width: 38px; height: 38px; flex-shrink: 0; border-radius: 10px;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--brand-light); color: var(--brand); font-size: 1.1rem;
}

/* — Detail pozice: další volné pozice — */
.jd-more { background: #f9f9f9; }

/* — Benefity: karty (pozadí sekce řeší rytmus výše) — */
.why-card--benefit { text-align: center; }
.why-card--benefit .why-card__icon { margin-left: auto; margin-right: auto; }

/* — O NÁS: video místo fotky (16:9) — */
.about-media--video { display: flex; align-items: center; }
.about-video {
    position: relative; width: 100%; aspect-ratio: 16/9;
    border-radius: var(--radius); overflow: hidden;
    z-index: 1;
}
.about-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* — Naše pobočky / závody — */
.branches-section { background: #f9f9f9; }
.branch-grid {
    display: grid; gap: 1.5rem; margin-top: 2.5rem;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
.branch-card {
    background: #ffffff;
    border-radius: var(--radius); overflow: hidden;
}
.branch-card__media { aspect-ratio: 16/10; overflow: hidden; }
.branch-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s var(--ease); }
.branch-card:hover .branch-card__media img { transform: scale(1.06); }
.branch-card__media--ph {
    display: flex; align-items: center; justify-content: center;
    background: var(--brand);
    color: #fff; font-size: 2.4rem; opacity: .9;
}
.branch-card__body { padding: 1.4rem 1.5rem 1.6rem; }
.branch-card__body h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: .5rem; }
.branch-card__addr { color: var(--muted); font-size: .9rem; margin-bottom: .9rem; }
.branch-card__contact { display: flex; flex-wrap: wrap; gap: .4rem .9rem; font-size: .85rem; color: var(--muted); }
.branch-card__contact a, .branch-card__contact span { color: var(--brand); font-weight: 600; }
.branch-card__contact a:hover { text-decoration: underline; }
.branch-card { color: inherit; }
.branch-card__link {
    display: inline-flex; align-items: center; margin-top: .9rem;
    font-size: .9rem; font-weight: 700; color: var(--brand);
}
.branch-card:hover .branch-card__link { color: var(--accent); }

/* Jedna pobočka — velký layout */
.branch-solo {
    display: grid; grid-template-columns: 1.1fr 1fr; gap: 0;
    margin-top: 2.5rem;
    border-radius: var(--radius); overflow: hidden; color: inherit;
    background: #ffffff;
}
.branch-solo--noimg { grid-template-columns: 1fr; }
.branch-solo__media { min-height: 280px; }
.branch-solo__media img { width: 100%; height: 100%; object-fit: cover; }
.branch-solo__body { padding: 2.5rem; display: flex; flex-direction: column; justify-content: center; }
.branch-solo__body h3 { font-size: 1.6rem; font-weight: 800; margin-bottom: .6rem; }
.branch-solo__addr { color: var(--muted); font-size: 1rem; margin-bottom: 1rem; }
.branch-solo__cta { margin-top: 1.5rem; align-self: flex-start; }
@media (max-width: 768px) {
    .branch-solo { grid-template-columns: 1fr; }
    .branch-solo__media { min-height: 200px; }
    .branch-solo__body { padding: 1.75rem; }
}

/* — Galerie: jednotná čistá mřížka, klik = zvětšení — */
.gallery-grid {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1.25rem;
}
.gallery-item {
    border-radius: var(--radius); aspect-ratio: 4/3;
    cursor: zoom-in;
}
.gallery-item::after {
    content: '+';
    position: absolute; top: .65rem; right: .65rem; z-index: 2;
    width: 34px; height: 34px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: rgba(0,0,0,.5); color: #fff; pointer-events: none;
    font-size: 1.3rem; font-weight: 600; line-height: 1;
    opacity: .55; transform: scale(.9); transition: opacity .2s, transform .2s;
}
.gallery-item:hover::after { opacity: 1; transform: scale(1); }
.gallery-item img { pointer-events: none; }

/* Strop galerie na úvodu: zobraz 9, zbytek skryj (lightbox proklikne vše) */
.gallery-grid--capped .gallery-item:nth-child(n+10) { display: none; }
.gallery-more {
    position: absolute; inset: 0; z-index: 3;
    display: flex; align-items: center; justify-content: center;
    background: rgba(0,0,0,.5); color: #fff;
    font-size: 1.6rem; font-weight: 800; letter-spacing: .02em;
    pointer-events: none;
}
.gallery-item:has(.gallery-more)::after { display: none; }

/* Horní admin lišta (náborář / admin / náhled) */
.cbar {
    position: fixed; inset: 0 0 auto 0; height: 46px; z-index: 2400;
    display: flex; align-items: center; justify-content: space-between;
    gap: 1rem; padding: 0 4vw;
    background: #1a1a1a; color: #f9f9f9; font-size: .85rem;
}
body.has-cbar .c-nav { top: 46px; }
/* The 46px preview bar pushes the navbar down; give the hero matching extra
   top padding so the "Zpět na pozice" link isn't hidden behind the bar/navbar. */
body.has-cbar .jd-hero { padding-top: calc(72px + 46px + 2rem); }
body.has-cbar .c-hero,
body.has-cbar .jd-hero,
body.has-cbar .page-section { scroll-margin-top: 110px; }
.cbar__status { display: flex; align-items: center; gap: .5rem; font-weight: 600; white-space: nowrap; }
.cbar__dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.cbar__dot--on { background: #4fde5c; }
.cbar__dot--off { background: #f9f9f9; }
.cbar__actions { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; }
.cbar__actions a {
    color: #f9f9f9; padding: .35rem .7rem; border-radius: var(--btn-radius);
    font-weight: 600; transition: background .15s, color .15s; white-space: nowrap;
}
.cbar__actions a:hover { background: rgba(255,255,255,.1); color: #fff; }
.cbar__cta {
    background: var(--accent) !important; color: var(--accent-ink) !important;
}
@media (max-width: 768px) {
    .cbar { font-size: .78rem; padding: 0 3vw; height: auto; min-height: 46px; flex-wrap: wrap; }
    .cbar__actions a { padding: .3rem .5rem; }
    body.has-cbar .c-nav { top: 0; }
    body.has-cbar .jd-hero { padding-top: calc(72px + 2rem); }
}

/* Lightbox overlay */
.glb {
    position: fixed; inset: 0; z-index: 2000;
    background: rgba(0,0,0,.92);
    display: none; align-items: center; justify-content: center;
    opacity: 0; transition: opacity .25s var(--ease);
}
.glb.open { display: flex; opacity: 1; }
.glb img {
    max-width: 92vw; max-height: 88vh; border-radius: 12px;
    animation: glbIn .3s var(--ease);
}
@keyframes glbIn { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }
.glb__cap {
    position: absolute; left: 0; right: 0; bottom: 5vh;
    text-align: center; color: #fff; font-size: .95rem; opacity: .85;
}
.glb__btn {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 52px; height: 52px; border-radius: 50%; border: 0;
    background: rgba(255,255,255,.12); color: #fff; font-size: 1.4rem;
    cursor: pointer; transition: background .2s; display: flex;
    align-items: center; justify-content: center;
}
.glb__btn:hover { background: rgba(255,255,255,.25); }
.glb__prev { left: 3vw; } .glb__next { right: 3vw; }
.glb__close {
    position: absolute; top: 3vh; right: 3vw;
    width: 46px; height: 46px; border-radius: 50%; border: 0;
    background: rgba(255,255,255,.12); color: #fff; font-size: 1.5rem;
    cursor: pointer; transition: background .2s;
}
.glb__close:hover { background: rgba(255,255,255,.25); }
@media (max-width: 600px) {
    .glb__btn { width: 40px; height: 40px; }
    .glb__prev { left: 1vw; } .glb__next { right: 1vw; }
}

/* — Zákazníci: jemný oddělovač — */
.clients-row { padding: 1rem 0; }

/* — Aktuality: karta s hover liftem (pokud existuje) — */
.news-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(280px,1fr)); margin-top: 2.5rem; }
.news-card {
    background: #ffffff;
    border-radius: var(--radius); overflow: hidden;
}
.news-card__img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.news-card__body { padding: 1.4rem 1.5rem 1.6rem; display: flex; flex-direction: column; }
.news-card__date { font-size: .8rem; color: var(--muted); margin-bottom: .5rem; }
.news-card__title { font-size: 1.05rem; font-weight: 700; line-height: 1.4; }
.news-card__cat {
    margin-left: .6rem; padding: 1px 8px; border-radius: var(--btn-radius);
    background: var(--brand-light); color: var(--brand);
    font-size: .7rem; font-weight: 700;
}
.news-card__excerpt {
    font-size: .9rem; color: var(--muted); line-height: 1.6;
    margin: .6rem 0 0;
}
.news-card__more {
    margin-top: 1rem; font-size: .85rem; font-weight: 700; color: var(--brand);
    display: inline-flex; align-items: center;
}
.news-card:hover .news-card__more { color: var(--accent); }
.news-card__img--ph {
    display: flex; align-items: center; justify-content: center;
    background: var(--brand);
    color: #fff; font-size: 2.4rem; opacity: .9;
}
.news-empty {
    text-align: center; color: var(--muted); padding: 4rem 1rem;
}
.news-empty i { font-size: 2.6rem; display: block; margin-bottom: .75rem; color: var(--brand); opacity: .6; }

/* Aktualita — detail */
.blog-hero-img {
    width: 100%; max-height: 460px; object-fit: cover;
    border-radius: var(--radius); margin-bottom: 2rem;
}
.blog-content { font-size: 1.06rem; line-height: 1.85; color: #1a1a1a; }
.blog-content img { max-width: 100%; height: auto; border-radius: 12px; margin: 1.5rem 0; }
.blog-content iframe.ql-video,
.blog-content iframe { width: 100%; aspect-ratio: 16/9; height: auto; border: 0; border-radius: 12px; margin: 1.5rem 0; }
.blog-content h2, .blog-content h3 { margin-top: 2rem; margin-bottom: .6rem; font-weight: 800; color: var(--text); }
.blog-content p { margin-bottom: 1.1rem; }
.blog-content ul, .blog-content ol { padding-left: 1.4rem; margin-bottom: 1.1rem; }
.blog-content blockquote {
    border-left: 4px solid var(--brand); padding: .25rem 0 .25rem 1.2rem;
    color: var(--muted); font-style: italic; margin: 1.5rem 0;
}
.jd-related-link { display: flex; flex-direction: column; }
.jd-related-link strong { font-size: .92rem; transition: color .15s; }
.jd-related-link:hover strong { color: var(--brand); }
.jd-related-link span { font-size: .8rem; color: var(--muted); }

/* — CTA strip — */
.contact-strip {
    background: var(--brand);
    position: relative; overflow: hidden;
}
.contact-strip .cta-inner { position: relative; z-index: 1; }

/* — FOOTER: moderní, CTA pruh, sociální ikony — */
.c-footer { position: relative; overflow: hidden; padding-top: 0; }
.c-footer__inner { position: relative; z-index: 1; }
.c-footer__cta {
    display: flex; flex-wrap: wrap; gap: 1.5rem;
    align-items: center; justify-content: space-between;
    padding: 2.75rem 0; margin-bottom: 2.5rem;
    border-bottom: 1px solid color-mix(in srgb, var(--footer-ink, #fff) 16%, transparent);
}
.c-footer__cta h2 { color: var(--footer-ink, #fff); font-size: clamp(1.4rem,2.4vw,2rem); font-weight: 800; letter-spacing: -.02em; }
.c-footer__cta p { color: var(--footer-ink, #f9f9f9); margin-top: .35rem; }
.btn-footer-cta {
    background: var(--accent);
    color: var(--accent-ink); padding: .9rem 2rem; border-radius: var(--btn-radius); font-weight: 700;
    display: inline-flex; align-items: center; gap: .55rem;
}
.btn-footer-cta:hover { color: var(--accent-ink); }
.c-social { display: flex; gap: .65rem; margin-top: 1.25rem; }
.c-social a {
    width: 40px; height: 40px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    background: #f9f9f9; color: #1a1a1a; font-size: 1.05rem;
    transition: background .2s, color .2s;
}
.c-social a:hover {
    background: var(--brand); color: var(--brand-ink);
}
.c-footer__links li { display: flex; align-items: flex-start; }
.c-footer__links li i { opacity: .7; }

/* — Přístupnost: viditelný focus + klidnější pohyb na přání — */
a:focus-visible, button:focus-visible {
    outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 6px;
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; }
    .js .reveal { opacity: 1 !important; transform: none !important; }
    html { scroll-behavior: auto; }
}

/* ── Kontakt ── */
.contact-grid {
    display: grid; grid-template-columns: 1.1fr .9fr; gap: 3.5rem;
    align-items: center; margin-top: 1rem;
}
.contact-main .section-title { margin-bottom: 1.75rem; }
.contact-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.1rem; }
.contact-list li { display: flex; align-items: flex-start; gap: 1rem; }
.contact-ico {
    flex: 0 0 auto; width: 46px; height: 46px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    background: var(--brand-light); color: var(--brand); font-size: 1.2rem;
}
.contact-list strong {
    display: block; font-size: .72rem; text-transform: uppercase;
    letter-spacing: .05em; color: var(--muted); margin-bottom: .15rem;
}
.contact-list a, .contact-list span > span { font-weight: 600; }
.contact-social { margin-top: 1.75rem; }
.contact-social a { background: #ffffff; color: var(--brand); }
.contact-social a:hover { background: var(--brand); color: var(--brand-ink); }
.contact-media img {
    width: 100%; border-radius: var(--radius);
    aspect-ratio: 4/5; object-fit: cover;
}
@media (max-width: 900px) {
    .contact-grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .contact-media { order: -1; }
    .contact-media img { aspect-ratio: 16/10; }
}

/* ── Kontakt — personální tým ── */
.people-section { background: #f9f9f9; }
.people-grid {
    display: grid; gap: 1.5rem; margin-top: 2.5rem;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.person-card {
    background: #ffffff;
    border-radius: var(--radius); padding: 2rem 1.5rem; text-align: center;
}
.person-card__photo {
    width: 96px; height: 96px; border-radius: 50%;
    object-fit: cover; margin: 0 auto 1rem; display: block;
}
.person-card__photo--ph {
    display: flex; align-items: center; justify-content: center;
    background: var(--brand); color: var(--brand-ink);
    font-size: 2rem; font-weight: 800;
}
.person-card h3 { font-size: 1.1rem; font-weight: 800; margin-bottom: .2rem; }
.person-card__pos { color: var(--muted); font-size: .9rem; margin-bottom: 1rem; }
.person-card__contact {
    display: flex; flex-direction: column; gap: .35rem;
    font-size: .9rem; font-weight: 600;
}
.person-card__contact a { color: var(--brand); }
.person-card__contact a:hover { text-decoration: underline; }

/* ── /pozice/ — spontánní přihláška + průběh výběrka ── */
.spon-section { background: #f9f9f9; padding-top: 4rem; padding-bottom: 6.5rem; }
.spon-cta {
    max-width: 720px; margin: 0 auto; text-align: center;
    background: var(--accent);
    color: var(--accent-ink); border-radius: var(--radius);
    padding: 3.5rem 2.5rem;
}
.spon-cta__eyebrow { font-weight: 700; opacity: .8; margin-bottom: .25rem; }
.spon-cta h2 { font-size: clamp(1.8rem, 4vw, 2.8rem); font-weight: 900; letter-spacing: -.02em; }
.spon-cta__text { margin: 1rem auto 1.75rem; max-width: 520px; line-height: 1.7; opacity: .85; }
.btn-outline-ink {
    display: inline-flex; align-items: center; gap: .4rem;
    padding: .8rem 2rem; border-radius: var(--btn-radius); font-weight: 700;
    color: var(--accent); background: var(--accent-ink); border: none;
    transition: background .2s;
}
.btn-outline-ink:hover {
    background: var(--accent-ink); color: var(--accent);
}

.process-section { background: #f9f9f9; }
.proc-grid {
    display: grid; gap: 1.5rem; margin-top: 3rem;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.proc-card {
    position: relative; background: #ffffff;
    border-radius: var(--radius);
    padding: 2rem 1.75rem 1.75rem;
}
.proc-num {
    display: inline-flex; align-items: center; justify-content: center;
    width: 52px; height: 52px; border-radius: 50%;
    background: var(--brand); color: var(--brand-ink);
    font-size: 1.5rem; font-weight: 900; margin-bottom: 1rem;
}
.proc-card h3 { font-size: 1.15rem; font-weight: 800; margin: 0 0 .6rem; }
.proc-card p { color: var(--muted); line-height: 1.7; font-size: .95rem; }
@media (max-width: 600px) {
    .spon-cta { padding: 2.5rem 1.5rem; border-radius: var(--radius); }
}

/* ============================================================
   RESPONZIVITA
   ============================================================ */
@media (max-width: 1024px) {
    .jd-layout { grid-template-columns: 1fr; }
    .jd-sidebar { position: static; }
}

@media (max-width: 992px) {
    section { padding: 4rem 4vw; }
    .page-section, .jd-section { padding: 3rem 4vw; }
    .about-grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .about-media { order: -1; }
    .about-media img { aspect-ratio: 16/10; }
    .c-footer__cta { padding: 2rem 0; }
    .c-footer__top { grid-template-columns: 1fr 1fr; gap: 2rem 3rem; }
    .c-footer__logo-col { justify-content: flex-start; }
    .jd-facts-band { margin-top: 0; padding-top: 2rem; }
}

@media (max-width: 768px) {
    .c-nav__links { display: none; }
    .c-nav__toggle { display: block; }
    .c-nav.open .c-nav__links {
        display: flex; flex-direction: column;
        position: fixed; top: 72px; left: 0; right: 0;
        background: var(--nav-menu-bg, #fff); padding: 1.5rem 4vw;
        border-bottom: 1px solid var(--border);
        gap: 1rem;
    }
    .c-nav--dark.open .c-nav__links {
        border-bottom-color: color-mix(in srgb, var(--nav-ink, #fff) 16%, transparent);
    }
    .c-hero { padding: 116px 4vw 64px; min-height: auto; }
    .c-hero__stats { gap: 2rem; }
    .c-footer__top { grid-template-columns: 1fr; gap: 2rem; }
    .c-footer__logo-col { justify-content: flex-start; order: -1; }
    .jd-form-grid { grid-template-columns: 1fr; }
    .job-row { grid-template-columns: 1fr; gap: .9rem; }
    .job-row__loc { justify-content: flex-start; }
    .job-row__btn { justify-self: start; }
}

@media (max-width: 480px) {
    .c-hero__actions { flex-direction: column; align-items: stretch; }
    .btn-primary-cp, .btn-ghost { justify-content: center; }
    .job-row__btn { width: 100%; justify-content: center; }
}

/* ============================================================
   FLAT ENFORCEMENT — plochý vzhled (žádné stíny ani přechody)
   ============================================================ */
*, *::before, *::after {
    box-shadow: none !important;
    text-shadow: none !important;
}
input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 2px solid #1a1a1a; outline-offset: 2px;
}

/* Zaškrtnuté checkboxy/radia — barva firmy místo Bootstrap modré */
.form-check-input:checked {
    background-color: var(--accent, #4fde5c);
    border-color: var(--accent, #4fde5c);
}

/* Zprávy (např. potvrzení odeslané žádosti) — ploché, bez rámečku */
.alert {
    border: 0;
    border-radius: var(--radius, 20px);
}
.alert-success {
    --bs-alert-bg: var(--accent, #4fde5c);
    --bs-alert-color: var(--accent-ink, #1a1a1a);
}


/* ===== Career page styles — moved out of template <style> blocks ===== */
/* moved from employers/templates/career/base.html */

/* moved from employers/templates/career/home.html */
.products-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem; margin-top: 1.5rem; }
.product-card { background: #ffffff; border: none; border-radius: 20px; overflow: hidden; display: flex; flex-direction: column; box-shadow: none; }
.product-card__img { width: 100%; height: 200px; object-fit: cover; }
.product-card__body { padding: 1.25rem 1.4rem 1.5rem; }
.product-card__title { font-size: 1.25rem; margin: 0 0 .5rem; }
.product-card__desc { font-size: .97rem; line-height: 1.6; color: #1a1a1a; }
.product-card__desc img { max-width: 100%; height: auto; border-radius: 8px; margin: .5rem 0; }
.product-card__desc :first-child { margin-top: 0; }
.product-card__desc :last-child { margin-bottom: 0; }

/* moved from employers/templates/career/tags/reviews.html */

.crev-stars {
    color: var(--brand);
    letter-spacing: .1em;
    font-size: .9rem;
}

.crev-text {
    line-height: 1.65;
}

.crev-badge {
    font-size: .7rem;
}

/* moved from employers/templates/career/branch_detail.html */

.cbranch-job-list-spaced {
    margin-top: 2rem;
}

.cbranch-lead-spaced {
    margin-top: 1.5rem;
}

/* moved from employers/templates/career/contact.html */

/* was inline style="margin-top:2rem" on the "Volné pozice" CTA button */
.ccontact-cta-mt {
    margin-top: 2rem;
}

/* ── Cookie consent banner (career subdomains) ──────────────────────────────
   The shared banner (cms/_cookie_banner.html) is styled in the main style.css,
   which career pages don't load — so it fell back to raw Bootstrap (blue
   btn-primary). Re-style here using the employer's brand colour. */
.cookie-banner {
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 9999; padding: 1rem;
}
.cookie-inner {
    max-width: 700px; margin: 0 auto; background: #fff; color: var(--text);
    border-radius: 16px; padding: 1.25rem 1.5rem;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .18);
}
.cookie-header {
    display: flex; align-items: flex-start; gap: .75rem;
    font-size: .875rem; line-height: 1.5; margin-bottom: .75rem;
}
.cookie-header strong { display: block; margin-bottom: .1rem; color: var(--text); }
.cookie-header a { color: var(--brand-dark, var(--brand)); text-decoration: underline; }
.cookie-icon { font-size: 1.5rem; color: var(--brand); margin-top: 2px; flex-shrink: 0; }
.cookie-categories { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin-bottom: 1rem; }
.cookie-cat { display: flex; align-items: center; gap: .4rem; cursor: pointer; font-size: .8rem; flex-wrap: wrap; }
.cookie-cat input { display: none; }
.cookie-toggle {
    width: 34px; height: 18px; border-radius: 9999px; background: #cfcfcf;
    position: relative; transition: background .2s; flex-shrink: 0;
}
.cookie-toggle::after {
    content: ''; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px;
    border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
    transition: transform .2s;
}
.cookie-cat input:checked + .cookie-toggle { background: var(--brand); }
.cookie-cat input:checked + .cookie-toggle::after { transform: translateX(16px); }
.cookie-cat input:disabled + .cookie-toggle { opacity: .5; cursor: not-allowed; }
.cookie-cat-name { color: var(--text); font-weight: 600; }
.cookie-cat-desc { width: 100%; color: var(--muted); font-size: .72rem; margin-left: 38px; margin-top: -2px; }
.cookie-buttons { display: flex; gap: .5rem; flex-wrap: wrap; }
.cookie-buttons .btn {
    border: none; border-radius: 9999px; font-weight: 600; box-shadow: none !important;
}
#cookieAccept, #cookieAccept:hover, #cookieAccept:focus, #cookieAccept:active {
    background: var(--brand); color: var(--brand-ink, #fff); border: none;
}
#cookieReject, #cookieSave,
#cookieReject:hover, #cookieSave:hover,
#cookieReject:focus, #cookieSave:focus,
#cookieReject:active, #cookieSave:active {
    background: #f1f1f1; color: var(--text); border: none;
}
@media (max-width: 768px) {
    .cookie-inner { padding: 1rem; }
    .cookie-buttons { flex-direction: column; }
}

