/* ============================================================
   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;
}
@media (max-width: 800px) {
    .home__banner__media video {
        display: none; /* na mobilu jen fotka, šetříme data */
    }
}

/* ---------- 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: auto; /* checklisty začínají na stejné lince */
}
@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;
}
