/* ============================================================
   Custom overrides — úpravy 06/2026 (zadání docs/Web CJP.docx)
   Nedotýká se style.css (minifikovaný build), jen překrývá.
   ============================================================ */

/* ---------- 1. Modré tlačítko (Оставить заявку) ---------- */
.btn--blue {
    color: #fff;
    border: 1px solid #004f9e;
    background-color: #004f9e;
}
.btn--blue:hover,
.btn--blue.active {
    color: #fff;
    border: 1px solid #009fe3;
    background-color: #009fe3;
}

/* ---------- 2. Hero banner s fotkou / videem ---------- */
.home__banner-wrap.has-media {
    position: relative;
    background: #0b2c4d;
}
.home__banner-wrap.has-media .home__banner::after {
    display: none; /* skryje původní logo shape */
}
.home__banner__media {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
}
.home__banner__media video,
.home__banner__media img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.home__banner__media::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(4, 28, 53, 0.82) 0%, rgba(4, 28, 53, 0.55) 45%, rgba(4, 28, 53, 0.25) 100%);
}
.home__banner-wrap.has-media .home__banner {
    position: relative;
    z-index: 1;
}
.home__banner-wrap.has-media .home__banner__text h1 {
    color: #fff;
}
.home__banner-wrap.has-media .home__banner__text .subtitle {
    color: #eef3f8;
}
/* Video hraje i na mobilu (na přání klienta). Fotka zůstává jako poster/fallback,
   než se video načte / kdyby autoplay selhal. */
.home__banner__media video {
    display: block;
}

/* ---------- 3. Telefon – výběr WhatsApp / Viber / zavolat ---------- */
.phone-chooser {
    position: relative;
    display: inline-block;
}
.phone-chooser__menu {
    display: none;
    position: absolute;
    z-index: 50;
    top: calc(100% + 8px);
    right: 0;
    min-width: 210px;
    padding: 8px 0;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 30px rgba(0, 40, 80, 0.18);
}
.phone-chooser.open .phone-chooser__menu {
    display: block;
}
.phone-chooser__menu a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 18px;
    color: #004f9e !important;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s;
}
.phone-chooser__menu a:hover {
    background: #f1f6fb;
    color: #004f9e;
}
.phone-chooser__menu a svg {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
}
.phone-chooser__menu a .num {
    color: #747474;
    font-size: 12px;
}
/* kompaktní telefon vedle burgeru — jen mobil */
.phone-chooser--bar {
    display: none;
}
@media (max-width: 1050px) {
    .phone-chooser--bar {
        display: inline-block;
        margin: 0 18px 0 auto;
    }
    .phone-chooser--bar .phone-chooser__toggle {
        white-space: nowrap;
    }
    .header-inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
}
@media (max-width: 640px) {
    /* na malém displeji jen ikona sluchátka */
    .phone-chooser--bar .phone-chooser__toggle {
        width: 42px;
        height: 42px;
        padding: 0;
        background-position: center;
        font-size: 0;
        letter-spacing: 0;
    }
}
/* chooser v patičce (pre-footer kontakty) — menu vlevo */
.phone-chooser--footer .phone-chooser__menu {
    right: auto;
    left: 0;
    top: auto;
    bottom: calc(100% + 8px);
}
.phone-chooser--footer > a,
.phone-chooser--footer .phone-chooser__toggle--link {
    cursor: pointer;
}

/* ---------- 4. Plovoucí tlačítko „Оставить заявку“ ---------- */
.floating-cta {
    position: fixed;
    z-index: 999;
    right: 22px;
    bottom: 22px;
    padding: 14px 28px;
    border-radius: 100px;
    color: #fff !important;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.4px;
    text-decoration: none;
    background: #004f9e;
    box-shadow: 0 6px 24px rgba(0, 40, 80, 0.35);
    transition: 0.3s;
}
.floating-cta:hover {
    background: #009fe3;
    transform: translateY(-2px);
}
@media (max-width: 640px) {
    .floating-cta {
        right: 14px;
        bottom: 14px;
        padding: 12px 22px;
        font-size: 14px;
    }
}

/* ---------- 5. Karty pozic — dvě tlačítka ---------- */
.positions__listing__item__btns {
    position: absolute;
    z-index: 2;
    bottom: 25px;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    padding: 0 20px;
}
.positions__listing__item-inner {
    cursor: default;
}
.positions__listing__item-inner,
div.positions__listing__item-inner {
    display: flex;
}
.home__positions__listing .positions__listing__item__btns {
    bottom: 22px;
}
@media (max-width: 650px) {
    .positions__listing__item__btns {
        position: static;
        padding: 16px 0 6px;
    }
}

/* ---------- 6. Služby (Проекты) — bez prokliku + mobil s textem ---------- */
.projects__listing__item-inner {
    cursor: default;
}
div.projects__listing__item-inner:hover {
    text-decoration: none;
}
@media (max-width: 900px) {
    /* původně skryté texty — klient je chce i na mobilu */
    .projects__listing__item__text p:not(.h3) {
        display: block;
        font-size: 13px;
        text-align: left;
    }
    .projects__listing__item__text {
        text-align: center;
    }
}
@media (max-width: 600px) {
    .projects__listing__item {
        width: 100%;
        padding: 5px;
    }
    .projects__listing__item-inner {
        padding: 20px 18px;
    }
    /* ikona měla scale(0.5) na SVG bez rozměrů → přetékala; pevná výška je čistší */
    .projects__listing__item__icon {
        height: auto;
        padding: 0 0 12px;
    }
    .projects__listing__item__icon img {
        height: 60px;
        width: auto;
        max-width: none;
        transform: none;
    }
}

/* ---------- 7. Carousel kurzů (Код 95) — sjednocení výšek ---------- */
.projects__slider__item-inner {
    display: flex;
    flex-direction: column;
}
.projects__slider__item-inner ul.gen-check-list {
    margin-top: 10px; /* (dříve auto — tlačilo seznam dolů; teď zarovnání řeší sekce 11 + JS) */
}
@media (max-width: 600px) {
    .projects__slider__item-inner h3 {
        min-height: 76px;
    }
}

/* ---------- 8. Patička — menu + firemní údaje místo „Новости“ ---------- */
.footer__news-inner {
    display: flex;
    flex-flow: row wrap;
    gap: 50px;
}
.footer__menu__title,
.footer__company__title {
    padding: 0 0 18px;
    color: #fff;
    font-size: 17px;
    font-weight: 400;
}
.footer__menu ul {
    margin: 0;
    padding: 0;
}
.footer__menu li {
    padding: 0 0 10px;
    list-style: none;
}
.footer__menu li a {
    color: rgba(255, 255, 255, 0.75);
    font-size: 14px;
    font-weight: 200;
    text-decoration: none;
    transition: color 0.2s;
}
.footer__menu li a:hover {
    color: #9ed116;
}
.footer__company p,
.footer__company a {
    display: block;
    padding: 0 0 10px;
    color: rgba(255, 255, 255, 0.75);
    font-size: 14px;
    font-weight: 200;
    line-height: 1.5;
    text-decoration: none;
}
.footer__company a:hover {
    color: #9ed116;
}
@media (max-width: 800px) {
    .footer__menu,
    .footer__company {
        width: 100%;
        padding: 0 0 30px;
        text-align: center;
    }
}

/* ---------- 9. Google recenze — vlastní skin ---------- */
.czj-reviews {
    padding: 20px 0 70px;
}
.czj-reviews .gen-title {
    text-align: center;
}
.czj-reviews .grw-header,
.czj-reviews .wp-google-left img {
    border-radius: 12px;
}
.czj-reviews .grw-review,
.czj-reviews .wp-google-review {
    border: none !important;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 6px 26px rgba(0, 64, 128, 0.08);
}
.czj-reviews .wp-google-name,
.czj-reviews .grw-reviews .wp-google-name a {
    color: #004f9e !important;
    font-weight: 400;
}
.czj-reviews .wp-google-text {
    color: #747474 !important;
    font-size: 14px;
    font-weight: 200;
    line-height: 1.6;
}
.czj-reviews .wp-google-url a,
.czj-reviews .wp-google-wr a {
    border-radius: 100px !important;
    background: #004f9e !important;
    color: #fff !important;
}


/* ============================================================
   Úpravy 06/2026 — 2. iterace (zadání docs/Web CJP 2.docx)
   ============================================================ */

/* ---------- 10. Telegram + chooser u jednotlivých kontaktů ---------- */
.phone-chooser__menu a svg[fill="#28A0E0"] { width: 20px; height: 20px; }

/* Chooser na stránce Kontakty (hlavní číslo i u osob) */
.phone-chooser--contact {
    display: inline-block;
    position: relative;
}
.phone-chooser--contact .phone-chooser__toggle--link {
    cursor: pointer;
    /* žádný inline-flex — ať se ikonka (position:absolute + padding-left v šabloně)
       chová stejně jako u e-mailu/adresy a řádek má stejnou výšku */
}
.phone-chooser--contact .phone-chooser__menu {
    right: auto;
    left: 0;
}
/* u osob menší typografie tlačítka */
.phone-chooser--contact-person .phone-chooser__toggle--link { font-weight: 400; }

/* ---------- 11. Код 95 — větší písmo + zarovnání 3 sloupců ---------- */
/* stejná výška VŠECH karet (i na mobilu — klient chce sjednocené bílé bloky) */
.projects__slider.owl-carousel .owl-stage { display: flex; }
.projects__slider.owl-carousel .owl-item { display: flex; height: auto; }
.projects__slider__item { display: flex; }
.projects__slider__item,
.projects__slider .owl-item .projects__slider__item { width: 100%; }
.projects__slider__item-inner { width: 100%; }
/* větší, čitelnější písmo */
.projects__slider__item-inner { display: flex; flex-direction: column; }
.projects__slider__item-inner h3 {
    font-size: 25px;
    line-height: 1.25;
    min-height: 78px;       /* titulky zarovnané */
}
.projects__slider__item-inner p,
.projects__slider__item__txt,
.projects__slider__item__list-title {
    font-size: 16px;
    line-height: 1.6;
}
/* úvodní text — výšku srovná JS (czjEqualizeKod95), aby „Обучение ориентировано на:"
   začínalo ve všech sloupcích na stejné lince */
.projects__slider__item__txt { margin: 0 0 4px; }
.projects__slider__item__list-title { margin: 0; padding-top: 4px; }
.projects__slider__item-inner .gen-check-list { margin-top: 10px; }
.projects__slider__item-inner .gen-check-list li {
    font-size: 15px;
    line-height: 1.45;
    padding-top: 6px;
    padding-bottom: 6px;
}
/* tlačítko k spodní hraně karty (i na mobilu — karty jsou teď stejně vysoké) */
.projects__slider__item__link { margin-top: auto; padding-top: 20px; }
@media (max-width: 600px) {
    .projects__slider__item-inner h3 { font-size: 22px; min-height: 64px; }
    .projects__slider__item-inner p,
    .projects__slider__item__txt,
    .projects__slider__item__list-title { font-size: 15px; }
    .projects__slider__item-inner .gen-check-list li { font-size: 14px; }
}

/* ---------- 12. O nás — fotka pod nadpisem (vlevo) ---------- */
.about-us__intro__photo {
    margin: 8px 0 0;
}
.about-us__intro__photo img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 8px 30px rgba(0, 40, 80, 0.12);
}

/* ---------- 13. Patička — srovnání výšky sloupců ---------- */
.footer__news-inner { align-items: flex-start; }
.footer__menu,
.footer__company { margin-top: 0; }
.footer__menu__title,
.footer__company__title {
    margin: 0;
    line-height: 1.35;
    min-height: 1.35em;     /* jednořádkové „Меню" = stejná výška jako název firmy */
}
/* telefon v bloku firemních údajů = stejný chooser jako jinde (menu nahoru) */
.footer__company .phone-chooser--company {
    display: block;
    margin: 0 0 10px;
}
.footer__company .phone-chooser--company .phone-chooser__toggle--link {
    display: inline-block;
    padding: 0;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.75);   /* stejně jako ostatní odkazy v patičce */
    font-weight: 200;
}
.footer__company .phone-chooser--company .phone-chooser__toggle--link:hover { color: #9ed116; }
/* SJEDNOCENÍ: položky rozbaleného menu mají vždy stejný vzhled bez ohledu na kontext.
   V patičce je přebíjely .footer__company a / .footer__menu li a (blok, bez mezer) —
   vyšší specificita (.phone-chooser .phone-chooser__menu a) to napravuje všude. */
.phone-chooser .phone-chooser__menu a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 18px;
    color: #004f9e !important;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    white-space: nowrap;
    text-decoration: none;
}
.phone-chooser .phone-chooser__menu a:hover { background: #f1f6fb; color: #004f9e !important; }
.phone-chooser .phone-chooser__menu a .num { color: #747474; font-weight: 400; }
.phone-chooser .phone-chooser__menu a svg { flex: 0 0 auto; width: 20px; height: 20px; }

/* ---------- 14. Pozice na mobilu — ikonky + zobrazit vše + prokliky ---------- */
@media (max-width: 650px) {
    /* ikonka kamionu — zachovat poměr stran (nebýt „rozpláclá") */
    .positions__listing__item__img {
        height: auto;
        width: auto;
        flex: 0 0 auto;
        margin: 0 14px 0 0;
        text-align: center;
    }
    .positions__listing__item__img img {
        width: auto !important;
        height: auto !important;
        max-width: 92px;
        max-height: 60px;
        object-fit: contain;
    }
    /* Вакансии: ukázat rovnou celý obsah karty (ne až po kliknutí) */
    .positions__listing .positions__listing__item__to-show { display: block !important; }
    /* nad pozadím karty → tlačítka klikatelná (platí pro Вакансии i homepage carousel) */
    .positions__listing__item__to-show {
        position: relative;
        z-index: 1;
    }
    /* zrušit accordion stacking (shower měl position:relative;z-index:2,
       co bránilo proklikům, když je obsah trvale zobrazený) */
    .positions__listing__item__shower {
        position: static;
        z-index: auto;
        cursor: default;
    }
    /* tlačítka v normálním toku a klikatelná (relative → z-index platí).
       bottom:auto je nutné — relative jinak respektuje zděděné bottom:25px
       a posunul by tlačítka nahoru přes text. */
    .positions__listing__item__btns,
    .home__positions__listing .positions__listing__item__btns {
        position: relative;
        bottom: auto;
        z-index: 2;
        padding: 14px 0 4px;
    }
}

/* ---------- 15. CTA na detailu pozice ---------- */
.single-position__cta { margin: 4px 0 26px; }
@media (max-width: 650px) {
    .single-position__cta { text-align: center; }
}

/* ---------- 16. Děkovná hláška formuláře + WhatsApp ---------- */
.hf-message-success {
    padding: 18px 0;
    color: #1a8a3a;
    font-size: 16px;
    line-height: 1.6;
    text-align: center;
}
.czj-thanks__title { font-weight: 400; }
.czj-thanks__wa {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 16px;
    padding: 12px 26px;
    border-radius: 100px;
    background: #25D366;
    color: #fff !important;
    font-size: 15px;
    text-decoration: none;
    transition: 0.25s;
}
.czj-thanks__wa:hover { filter: brightness(0.95); transform: translateY(-1px); }
.czj-thanks__wa svg { width: 20px; height: 20px; }

/* ---------- 17. GDPR souhlas ve formuláři ---------- */
.form-gdpr {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 14px 0 4px;
    color: #747474;
    font-size: 13px;
    line-height: 1.5;
    text-align: left;
}
.form-gdpr input[type="checkbox"] {
    width: auto;
    margin-top: 3px;
    flex: 0 0 auto;
}
.form-gdpr a { color: #004f9e; text-decoration: underline; }

/* ---------- 18. 404 stránka ---------- */
.error-404 {
    text-align: center;
    padding: 30px 0 80px;
}
.error-404 h1 {
    font-size: 86px;
    line-height: 1;
    color: #004f9e;
}
.error-404__text p { color: #555; }
.error-404__btns {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 26px;
}

/* ---------- 19. Textová stránka (GDPR apod.) ---------- */
.gen-text-page__content {
    max-width: 920px;
    padding: 6px 0 60px;
    color: #444;
    font-size: 16px;
    line-height: 1.7;
}
.gen-text-page__content p { margin: 0 0 16px; }
.gen-text-page__content h2,
.gen-text-page__content h3,
.gen-text-page__content h4 {
    color: #004f9e;
    margin: 28px 0 12px;
    line-height: 1.3;
}
.gen-text-page__content ul,
.gen-text-page__content ol { margin: 0 0 16px 22px; }
.gen-text-page__content li { margin: 0 0 8px; }
.gen-text-page__content a { color: #004f9e; text-decoration: underline; }
.gen-text-page__content strong,
.gen-text-page__content b { color: #222; }
