/* =========================================================
   ONI SYSTEM – FIREMNÍ VOZIDLA A FLOTILY
   NOVÝ SAMOSTATNÝ CSS SOUBOR
   Vše je omezeno na .oni-fleet, aby nedocházelo ke kolizím
   se stránkami Logistika a doprava / Stavebnictví / Střežení.
   ========================================================= */


/* ---------------------------------------------------------
   1. ZÁKLAD A TYPOGRAFIE
   --------------------------------------------------------- */

body:has(.oni-fleet) {
    --fleet-blue: #0b67e8;
    --fleet-blue-dark: #0756c8;
    --fleet-navy: #07193f;
    --fleet-text: #25334d;
    --fleet-muted: #667085;
    --fleet-border: #dfe6f1;
    --fleet-soft: #f5f8fc;
    --fleet-soft-blue: #f1f6fd;
    --fleet-white: #ffffff;
    --fleet-content: 1380px;
    --fleet-radius: 6px;
    --fleet-shadow: 0 8px 24px rgba(12, 42, 91, 0.07);
}

.oni-fleet,
.oni-fleet * {
    box-sizing: border-box;
}

.oni-fleet {
    width: 100%;
    margin: 0;
    padding: 0;
    color: var(--fleet-text);
    font-family: "Open Sans", Arial, sans-serif !important;
    font-size: 14px;
    line-height: 1.65;
    background: #fff;
}

.oni-fleet h1,
.oni-fleet h2,
.oni-fleet h3,
.oni-fleet p,
.oni-fleet ul {
    margin-top: 0;
}

.oni-fleet h1,
.oni-fleet h2,
.oni-fleet h3 {
    font-family: "Open Sans", Arial, sans-serif !important;
    color: var(--fleet-navy);
}

.oni-fleet h1 {
    margin-bottom: 20px;
    font-size: clamp(34px, 3.1vw, 52px);
    line-height: 1.13;
    font-weight: 800;
    letter-spacing: -0.035em;
}

.oni-fleet h2 {
    margin-bottom: 30px;
    font-size: 27px !important;
    line-height: 1.25;
    font-weight: 700;
    text-align: center;
    letter-spacing: -0.015em;
}

.oni-fleet h3 {
    margin-bottom: 10px;
    font-size: 17px !important;
    line-height: 1.35;
    font-weight: 700;
}

.oni-fleet p,
.oni-fleet li,
.oni-fleet a,
.oni-fleet input,
.oni-fleet select,
.oni-fleet button {
    font-family: "Open Sans", Arial, sans-serif !important;
    font-size: 14px;
}

.oni-fleet p {
    color: var(--fleet-text);
}

.oni-fleet img {
    display: block;
    max-width: 100%;
    height: auto;
}

.oni-fleet a {
    text-decoration: none;
}

.oni-fleet__container {
    width: min(calc(100% - 48px), var(--fleet-content));
    margin: 0 auto;
}

.oni-fleet__section {
    padding: 54px 0;
}

.oni-fleet__section--compact {
    padding-top: 10px;
}


/* =========================================================
   TEXTOVÁ STRÁNKA – ODSTRANĚNÍ HORNÍ ČÁSTI
   Stejný princip jako na stránce Logistika a doprava.
   Aktivuje se pouze na stránce, kde existuje .oni-fleet.
   ========================================================= */

/* Skryje:
   - drobečkovou navigaci
   - původní Shoptet H1 „Firemní vozidla a flotily“
   - navigaci předchozí / další článek
*/
body:has(.oni-fleet) .next-prev,
body:has(.oni-fleet) .breadcrumbs,
body:has(.oni-fleet) h1[data-testid="textArticleTitle"] {
    display: none !important;
}

/* Odstraní linky / rámečky, které mohou po skrytém H1 zůstat */
body:has(.oni-fleet) h1[data-testid="textArticleTitle"],
body:has(.oni-fleet) h1[data-testid="textArticleTitle"]::before,
body:has(.oni-fleet) h1[data-testid="textArticleTitle"]::after,
body:has(.oni-fleet) .content-inner,
body:has(.oni-fleet) .content-inner > article,
body:has(.oni-fleet) .content-inner .text {
    border-top: none !important;
    border-bottom: none !important;
}

/* Odstraní případné pseudo-elementy nad / pod obsahem */
body:has(.oni-fleet) .content-inner::before,
body:has(.oni-fleet) .content-inner::after,
body:has(.oni-fleet) .content-inner > article::before,
body:has(.oni-fleet) .content-inner > article::after {
    content: none !important;
    display: none !important;
}

/* Zruší prázdné místo nad vlastním obsahem stránky */
body:has(.oni-fleet) #content-wrapper,
body:has(.oni-fleet) .content-wrapper-in,
body:has(.oni-fleet) .content-inner {
    padding-top: 0 !important;
}

/* ---------------------------------------------------------
   3. TLAČÍTKA
   --------------------------------------------------------- */

.oni-fleet__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 22px;
    border: 1px solid transparent;
    border-radius: 6px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    transition: 0.2s ease;
}

.oni-fleet__btn--primary {
    color: #fff !important;
    background: var(--fleet-blue);
    border-color: var(--fleet-blue);
}

.oni-fleet__btn--primary:hover {
    color: #fff !important;
    background: var(--fleet-blue-dark);
    border-color: var(--fleet-blue-dark);
    transform: translateY(-1px);
}

.oni-fleet__btn--outline {
    color: var(--fleet-blue) !important;
    background: #fff;
    border-color: var(--fleet-blue);
}

.oni-fleet__btn--outline:hover {
    color: #fff !important;
    background: var(--fleet-blue);
}

.oni-fleet__btn--small {
    min-height: 40px;
    padding: 10px 17px;
    font-size: 13px !important;
}

.oni-fleet__btn--full {
    width: 100%;
}


/* ---------------------------------------------------------
   4. HERO
   --------------------------------------------------------- */

.oni-fleet__hero {
    position: relative;
    overflow: hidden;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: 46px 0 32px;
    background:
        radial-gradient(circle at 63% 64%, rgba(11, 103, 232, 0.09), transparent 32%),
        linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.oni-fleet__hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 1px;
    background: #edf1f7;
}

.oni-fleet__hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.93fr) minmax(460px, 1.07fr);
    align-items: center;
    gap: 32px;
}

.oni-fleet__hero-copy {
    position: relative;
    z-index: 2;
}

.oni-fleet__hero-lead {
    max-width: 610px;
    margin-bottom: 24px;
    font-size: 15px !important;
    line-height: 1.65;
}

.oni-fleet__hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 36px;
}

.oni-fleet__hero-media {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    min-height: 360px;
}

.oni-fleet__hero-media img {
    width: 100%;
    max-height: 490px;
    object-fit: contain;
    object-position: center bottom;
}

.oni-fleet__hero-benefits {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    max-width: 670px;
}

.oni-fleet__hero-benefit {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    color: var(--fleet-navy);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
}

.oni-fleet__mini-icon {
    display: inline-flex;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #d8e3f4;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 3px 10px rgba(12, 42, 91, 0.05);
}

.oni-fleet__mini-icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: var(--fleet-blue);
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* ---------------------------------------------------------
   5. IKONY
   --------------------------------------------------------- */

.oni-fleet__line-icon,
.oni-fleet__process-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--fleet-blue);
}

.oni-fleet__line-icon {
    width: 50px;
    height: 50px;
    margin-bottom: 13px;
}

.oni-fleet__line-icon--small {
    flex: 0 0 45px;
    width: 45px;
    height: 45px;
    margin: 1px 0 0;
}

.oni-fleet__line-icon svg,
.oni-fleet__process-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* ---------------------------------------------------------
   6. PRO KOHO JE ŘEŠENÍ VHODNÉ
   --------------------------------------------------------- */

.oni-fleet__audience-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.oni-fleet__audience-card {
    min-height: 212px;
    padding: 26px 24px 23px;
    text-align: center;
    border: 1px solid var(--fleet-border);
    border-radius: var(--fleet-radius);
    background: #fff;
    box-shadow: 0 4px 18px rgba(11, 39, 81, 0.035);
}

.oni-fleet__audience-card h3 {
    margin-bottom: 8px;
}

.oni-fleet__audience-card p {
    margin-bottom: 0;
    color: #3f4c63;
}


/* ---------------------------------------------------------
   7. CO ZÍSKÁTE
   --------------------------------------------------------- */

.oni-fleet__benefit-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px 36px;
}

.oni-fleet__benefit {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.oni-fleet__benefit h3 {
    margin-bottom: 5px;
    font-size: 15px !important;
}

.oni-fleet__benefit p {
    margin-bottom: 0;
    color: #4c5870;
    line-height: 1.55;
}


/* ---------------------------------------------------------
   8. CELOU FLOTILU NA JEDNOM MÍSTĚ
   --------------------------------------------------------- */

.oni-fleet__showcase {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: 34px 0 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 30%, rgba(11, 103, 232, 0.10), transparent 34%),
        linear-gradient(90deg, #f4f8fd 0%, #ffffff 58%, #f4f8fd 100%);
}

.oni-fleet__showcase-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.72fr) minmax(520px, 1.28fr);
    align-items: end;
    gap: 34px;
}

.oni-fleet__showcase-copy {
    align-self: center;
    max-width: 500px;
    padding: 28px 0 48px;
}

.oni-fleet__showcase-copy h2 {
    margin-bottom: 16px;
    font-size: 31px !important;
    line-height: 1.18;
    text-align: left;
}

.oni-fleet__showcase-copy > p {
    max-width: 440px;
    margin-bottom: 25px;
}

.oni-fleet__showcase-media {
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.oni-fleet__showcase-media img {
    width: 100%;
    max-height: 470px;
    object-fit: contain;
    object-position: center bottom;
}


/* ---------------------------------------------------------
   9. CHECK LIST
   --------------------------------------------------------- */

.oni-fleet__check-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.oni-fleet__check-list--two-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 28px;
}

.oni-fleet__check-list li {
    position: relative;
    padding-left: 22px;
    color: var(--fleet-navy);
    line-height: 1.45;
}

.oni-fleet__check-list li::before {
    content: "✓";
    position: absolute;
    top: 0;
    left: 0;
    color: var(--fleet-blue);
    font-weight: 800;
}


/* ---------------------------------------------------------
   10. DETAILNÍ FUNKCE – 5 KARET
   --------------------------------------------------------- */

.oni-fleet__feature-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

.oni-fleet__feature-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border-radius: 6px;
    background: #fff;
}

.oni-fleet__feature-card > img {
    width: 100%;
    aspect-ratio: 1.28 / 1;
    object-fit: cover;
    border-radius: 6px;
}

.oni-fleet__feature-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 15px 3px 0;
}

.oni-fleet__feature-body h3 {
    min-height: 46px;
}

.oni-fleet__feature-body p {
    flex: 1;
    margin-bottom: 17px;
    color: #4b5870;
}

.oni-fleet__feature-body a {
    color: var(--fleet-blue) !important;
    font-weight: 600;
}

.oni-fleet__feature-body a:hover {
    text-decoration: underline;
}


/* ---------------------------------------------------------
   11. DOPORUČENÁ GPS ŘEŠENÍ
   --------------------------------------------------------- */

.oni-fleet__products {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: 34px 0 28px;
    background: linear-gradient(180deg, #f5f8fd 0%, #f7f9fc 100%);
}

.oni-fleet__product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.oni-fleet__product-card {
    display: grid;
    grid-template-columns: 42% 58%;
    min-height: 265px;
    overflow: hidden;
    border: 1px solid #e6ebf3;
    border-radius: 6px;
    background: #fff;
    box-shadow: var(--fleet-shadow);
}

.oni-fleet__product-image {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 10px;
    background: #fbfcfe;
}

.oni-fleet__product-image img {
    width: 100%;
    max-width: 190px;
    max-height: 180px;
    object-fit: contain;
}

.oni-fleet__product-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px 22px 24px 10px;
}

.oni-fleet__product-content h3 {
    margin-bottom: 13px;
}

.oni-fleet__product-content .oni-fleet__check-list {
    gap: 6px;
    margin-bottom: 15px;
}

.oni-fleet__product-content .oni-fleet__check-list li {
    font-size: 12px;
}

.oni-fleet__price {
    margin: 0 0 13px;
    color: var(--fleet-navy) !important;
    font-size: 18px !important;
    font-weight: 800;
}

.oni-fleet__price small {
    font-size: 11px;
    font-weight: 400;
}

.oni-fleet__products-all {
    margin-top: 24px;
    text-align: center;
}

.oni-fleet__products-all a {
    color: var(--fleet-blue) !important;
    font-weight: 700;
    text-transform: uppercase;
}


/* ---------------------------------------------------------
   12. JAK TO FUNGUJE
   --------------------------------------------------------- */

.oni-fleet__process {
    padding-bottom: 45px;
}

.oni-fleet__process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 40px;
}

.oni-fleet__process-step {
    position: relative;
    padding: 0 20px;
    text-align: center;
}

.oni-fleet__process-step:not(:last-child)::after {
    content: "→";
    position: absolute;
    top: 46px;
    right: -30px;
    color: #aab7ca;
    font-size: 30px;
    font-weight: 300;
}

.oni-fleet__step-number {
    position: absolute;
    top: 33px;
    left: 7%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid #cbd7e8;
    border-radius: 50%;
    color: var(--fleet-navy);
    background: #fff;
    font-size: 12px;
    font-weight: 700;
}

.oni-fleet__process-icon {
    width: 66px;
    height: 66px;
    margin-bottom: 16px;
}

.oni-fleet__process-step h3 {
    min-height: 46px;
}

.oni-fleet__process-step p {
    max-width: 255px;
    margin: 0 auto;
    color: #526078;
}


/* ---------------------------------------------------------
   13. TESTOVACÍ SADA / FORMULÁŘ
   --------------------------------------------------------- */

.oni-fleet__trial {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: 0 0 42px;
}

.oni-fleet__trial-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(250px, 0.7fr) minmax(340px, 0.85fr);
    align-items: center;
    gap: 30px;
    padding: 34px 38px;
    border: 1px solid #e5ebf3;
    border-radius: 6px;
    background:
        linear-gradient(90deg, rgba(242, 247, 253, 0.97), rgba(255, 255, 255, 0.96)),
        #fff;
    box-shadow: var(--fleet-shadow);
}

.oni-fleet__trial-copy h2 {
    margin-bottom: 14px;
    font-size: 31px !important;
    text-align: left;
}

.oni-fleet__trial-copy > p {
    max-width: 560px;
    margin-bottom: 22px;
}

.oni-fleet__trial-image {
    display: flex;
    align-items: center;
    justify-content: center;
}

.oni-fleet__trial-image img {
    width: 100%;
    max-width: 310px;
    max-height: 280px;
    object-fit: contain;
}

.oni-fleet__trial-form-wrap {
    padding-left: 5px;
}

.oni-fleet__trial-form-wrap h3 {
    margin-bottom: 15px;
    color: var(--fleet-navy);
}

.oni-fleet__form {
    display: grid;
    gap: 10px;
}

.oni-fleet__form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.oni-fleet__form input,
.oni-fleet__form select {
    width: 100%;
    height: 44px;
    padding: 0 13px;
    border: 1px solid #d8e0ec;
    border-radius: 6px;
    color: #1f2c43;
    background: #fff;
    outline: none;
}

.oni-fleet__form input:focus,
.oni-fleet__form select:focus {
    border-color: var(--fleet-blue);
    box-shadow: 0 0 0 3px rgba(11, 103, 232, 0.10);
}

.oni-fleet__form input::placeholder {
    color: #8a95a7;
}

.oni-fleet__sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}


/* ---------------------------------------------------------
   14. RESPONZIVITA
   --------------------------------------------------------- */

@media (max-width: 1200px) {

    .oni-fleet__hero-grid {
        grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr);
    }

    .oni-fleet__hero-benefits {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .oni-fleet__feature-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .oni-fleet__product-card {
        grid-template-columns: 1fr;
    }

    .oni-fleet__product-image {
        min-height: 190px;
    }

    .oni-fleet__product-content {
        padding: 20px 24px 24px;
    }
}


@media (max-width: 980px) {

    .oni-fleet__hero-grid,
    .oni-fleet__showcase-grid {
        grid-template-columns: 1fr;
    }

    .oni-fleet__hero-media {
        min-height: 0;
    }

    .oni-fleet__hero-media img {
        max-width: 760px;
        margin: 0 auto;
    }

    .oni-fleet__audience-grid,
    .oni-fleet__benefit-grid,
    .oni-fleet__process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .oni-fleet__showcase-copy {
        max-width: none;
        padding-bottom: 10px;
    }

    .oni-fleet__showcase-media img {
        max-width: 820px;
        margin: 0 auto;
    }

    .oni-fleet__product-grid {
        grid-template-columns: 1fr;
    }

    .oni-fleet__product-card {
        grid-template-columns: 34% 66%;
    }

    .oni-fleet__trial-grid {
        grid-template-columns: 1fr 1fr;
    }

    .oni-fleet__trial-form-wrap {
        grid-column: 1 / -1;
        padding-left: 0;
    }

    .oni-fleet__process-step:nth-child(2)::after {
        display: none;
    }
}


@media (max-width: 700px) {

    .oni-fleet__container {
        width: min(calc(100% - 30px), var(--fleet-content));
    }

    .oni-fleet__section {
        padding: 38px 0;
    }

    .oni-fleet h1 {
        font-size: 34px;
    }

    .oni-fleet h2 {
        margin-bottom: 24px;
        font-size: 27px !important;
    }

    .oni-fleet__hero {
        padding-top: 30px;
    }

    .oni-fleet__hero-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .oni-fleet__hero-actions .oni-fleet__btn {
        width: 100%;
    }

    .oni-fleet__hero-benefits {
        grid-template-columns: 1fr 1fr;
        gap: 14px 10px;
    }

    .oni-fleet__audience-grid,
    .oni-fleet__benefit-grid,
    .oni-fleet__feature-grid,
    .oni-fleet__process-grid {
        grid-template-columns: 1fr;
    }

    .oni-fleet__audience-card {
        min-height: 0;
    }

    .oni-fleet__benefit {
        max-width: 520px;
    }

    .oni-fleet__showcase {
        padding-top: 26px;
    }

    .oni-fleet__showcase-copy h2,
    .oni-fleet__trial-copy h2 {
        font-size: 27px !important;
    }

    .oni-fleet__check-list--two-cols {
        grid-template-columns: 1fr;
    }

    .oni-fleet__feature-body h3 {
        min-height: 0;
    }

    .oni-fleet__product-card {
        grid-template-columns: 1fr;
    }

    .oni-fleet__process-step {
        padding: 0 15px 22px;
    }

    .oni-fleet__process-step::after {
        display: none !important;
    }

    .oni-fleet__step-number {
        left: calc(50% - 68px);
    }

    .oni-fleet__trial-grid {
        grid-template-columns: 1fr;
        padding: 28px 20px;
    }

    .oni-fleet__trial-form-wrap {
        grid-column: auto;
    }

    .oni-fleet__form-row {
        grid-template-columns: 1fr;
    }
}


/* ---------------------------------------------------------
   15. DROBNÉ ÚPRAVY PRO SHOPTET
   --------------------------------------------------------- */

body:has(.oni-fleet) .content-inner {
    max-width: none !important;
}

body:has(.oni-fleet) .content-inner > .oni-fleet {
    margin-top: 0;
}

/* Zabraňuje tomu, aby obecné styly Shoptetu měnily tlačítka stránky */
body:has(.oni-fleet) .oni-fleet .oni-fleet__btn::before,
body:has(.oni-fleet) .oni-fleet .oni-fleet__btn::after {
    display: none !important;
}


/* =========================================================
   OPRAVA: SKRYTÍ HLAVNÍHO NÁZVU ČLÁNKU NAD BANNEREM
   Shoptet může H1 vykreslit v jiné struktuře než přes
   data-testid="textArticleTitle". Proto přidáváme přesnější
   selektory pro H1, který je před blokem .oni-fleet.
   ========================================================= */

/* H1 je přímo před .oni-fleet */
body:has(.oni-fleet) h1:has(+ .oni-fleet),

/* H1 je ve stejném rodiči a .oni-fleet následuje až později */
body:has(.oni-fleet) h1:has(~ .oni-fleet),

/* Typické struktury Shoptetu */
body:has(.oni-fleet) .content-inner > h1:first-child,
body:has(.oni-fleet) .content-inner > article > h1:first-child,
body:has(.oni-fleet) .content-inner .text > h1:first-child,
body:has(.oni-fleet) .content > h1:first-child,
body:has(.oni-fleet) article > h1:first-child,
body:has(.oni-fleet) .article-detail > h1:first-child,

/* Další běžné třídy pro titulky článků */
body:has(.oni-fleet) .article-title,
body:has(.oni-fleet) .category-title,
body:has(.oni-fleet) .page-title {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

/* Odstranění případné mezery nad bannerem */
body:has(.oni-fleet) #content,
body:has(.oni-fleet) #content-wrapper,
body:has(.oni-fleet) .content-wrapper-in,
body:has(.oni-fleet) .content,
body:has(.oni-fleet) .content-inner,
body:has(.oni-fleet) .content-inner > article,
body:has(.oni-fleet) .content-inner .text {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Pokud je H1 obalený samostatným headerem, skryje se jen ten,
   který stojí před .oni-fleet */
body:has(.oni-fleet) header:has(h1):has(+ .oni-fleet),
body:has(.oni-fleet) header:has(h1):has(~ .oni-fleet) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}


/* =========================================================
   FINÁLNÍ OPRAVA HORNÍHO H1 – FIREMNÍ VOZIDLA A FLOTILY

   DŮVOD:
   Předchozí pravidla byla navázaná na existenci přesné třídy
   .oni-fleet. Pokud na stránce zůstanou pouze BEM třídy typu
   .oni-fleet__section, .oni-fleet__audience-grid apod.,
   body:has(.oni-fleet) se vůbec neaktivuje.

   Proto je stránka nově rozpoznána dvěma způsoby:
   1) existuje .oni-fleet
   2) existuje libovolná třída obsahující "oni-fleet__"

   Na živé stránce je pouze jedno H1 v #content – systémový
   nadpis „Firemní vozidla a flotily“, proto jej můžeme bezpečně
   skrýt celý.
   ========================================================= */

/* SYSTÉMOVÝ H1 SHOPTETU */
body:has(.oni-fleet) #content h1,
body:has([class*="oni-fleet__"]) #content h1 {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
}

/* DROBEČKOVÁ NAVIGACE + PŘEDCHOZÍ / DALŠÍ */
body:has(.oni-fleet) .breadcrumbs,
body:has(.oni-fleet) .breadcrumbs-wrapper,
body:has(.oni-fleet) .navigation-breadcrumb,
body:has(.oni-fleet) .p-breadcrumbs,
body:has(.oni-fleet) .next-prev,
body:has([class*="oni-fleet__"]) .breadcrumbs,
body:has([class*="oni-fleet__"]) .breadcrumbs-wrapper,
body:has([class*="oni-fleet__"]) .navigation-breadcrumb,
body:has([class*="oni-fleet__"]) .p-breadcrumbs,
body:has([class*="oni-fleet__"]) .next-prev {
    display: none !important;
}

/* ZRUŠENÍ PROSTORU, KTERÝ SHOPTET DRŽÍ NAD OBSAHEM */
body:has(.oni-fleet) #content-wrapper,
body:has(.oni-fleet) .content-wrapper-in,
body:has(.oni-fleet) .content,
body:has(.oni-fleet) .content-inner,
body:has(.oni-fleet) .content-inner > article,
body:has(.oni-fleet) .content-inner .text,
body:has([class*="oni-fleet__"]) #content-wrapper,
body:has([class*="oni-fleet__"]) .content-wrapper-in,
body:has([class*="oni-fleet__"]) .content,
body:has([class*="oni-fleet__"]) .content-inner,
body:has([class*="oni-fleet__"]) .content-inner > article,
body:has([class*="oni-fleet__"]) .content-inner .text {
    padding-top: 0 !important;
    margin-top: 0 !important;
    border-top: 0 !important;
}

/* ZRUŠENÍ PSEUDO-ELEMENTŮ / ODDĚLOVACÍCH LINEK */
body:has(.oni-fleet) .content-inner::before,
body:has(.oni-fleet) .content-inner::after,
body:has(.oni-fleet) .content-inner > article::before,
body:has(.oni-fleet) .content-inner > article::after,
body:has([class*="oni-fleet__"]) .content-inner::before,
body:has([class*="oni-fleet__"]) .content-inner::after,
body:has([class*="oni-fleet__"]) .content-inner > article::before,
body:has([class*="oni-fleet__"]) .content-inner > article::after {
    content: none !important;
    display: none !important;
}


/* =========================================================
   PRO KOHO JE ŘEŠENÍ VHODNÉ – VERZE BEZ IKON
   ========================================================= */

/* Pojistka: pokud by v HTML zůstala stará ikona, nezobrazí se */
body:has(.oni-fleet) .transport .transport-icon,
body:has([class*="oni-fleet__"]) .transport .transport-icon {
    display: none !important;
}

/* Po odstranění ikony už tělo karty nepoužívá sloupce pro ikonu + text */
body:has(.oni-fleet) .transport .transport-body,
body:has([class*="oni-fleet__"]) .transport .transport-body {
    display: block !important;
    padding: 34px 36px 30px !important;
    text-align: left !important;
}

/* Nadpis začne přímo vlevo, bez prázdného místa po ikoně */
body:has(.oni-fleet) .transport .transport-body h3,
body:has([class*="oni-fleet__"]) .transport .transport-body h3 {
    margin: 0 0 14px !important;
    padding: 0 !important;
    text-align: left !important;
}

/* Text pod nadpisem */
body:has(.oni-fleet) .transport .transport-body p,
body:has([class*="oni-fleet__"]) .transport .transport-body p {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

/* Karta zůstane sloupcová, fotografie je stále dole */
body:has(.oni-fleet) .transport .transport-card,
body:has([class*="oni-fleet__"]) .transport .transport-card {
    display: flex;
    flex-direction: column;
}

body:has(.oni-fleet) .transport .transport-photo,
body:has([class*="oni-fleet__"]) .transport .transport-photo {
    margin-top: auto;
}

@media (max-width: 700px) {
    body:has(.oni-fleet) .transport .transport-body,
    body:has([class*="oni-fleet__"]) .transport .transport-body {
        padding: 26px 24px 24px !important;
    }
}


/* =========================================================
   OPRAVA V2 – PRO KOHO JE ŘEŠENÍ VHODNÉ BEZ IKON
   Doporučený HTML marker:
   <section class="transport transport--fleet-no-icons">
   ========================================================= */

.transport--fleet-no-icons .transport-icon {
    display: none !important;
}

/* Zruší původní dvousloupcový GRID: ikona + text */
.transport--fleet-no-icons .transport-body {
    display: block !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
    gap: 0 !important;
    padding: 34px 36px 30px !important;
    text-align: left !important;
}

/* Původní CSS může mít h3/p natvrdo ve 2. sloupci.
   Proto explicitně resetujeme jejich grid pozici. */
.transport--fleet-no-icons .transport-body h3,
.transport--fleet-no-icons .transport-body p {
    grid-column: auto !important;
    grid-row: auto !important;
    align-self: auto !important;
    justify-self: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    transform: none !important;
    text-align: left !important;
}

.transport--fleet-no-icons .transport-body h3 {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
}

.transport--fleet-no-icons .transport-body p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Fotografie zůstává dole a karty drží stejnou výšku */
.transport--fleet-no-icons .transport-card {
    display: flex !important;
    flex-direction: column !important;
}

.transport--fleet-no-icons .transport-photo {
    margin-top: auto !important;
}

@media (max-width: 700px) {
    .transport--fleet-no-icons .transport-body {
        padding: 26px 24px 24px !important;
    }
}


/* =========================================================
   OPRAVA V3 – MENŠÍ MEZERA MEZI TEXTEM A OBRÁZKEM
   + STEJNÁ VÝŠKA VŠECH KARET
   ========================================================= */

.transport--fleet-no-icons .transport-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* Stejná výška textové části u všech 4 karet */
.transport--fleet-no-icons .transport-body {
    flex: 0 0 220px !important;
    min-height: 220px !important;
    height: 220px !important;

    padding: 28px 32px 22px !important;
}

/* Obrázek navazuje hned pod textovou částí */
.transport--fleet-no-icons .transport-photo {
    margin-top: 0 !important;
    flex: 0 0 auto !important;
}

/* Menší mezera mezi nadpisem a popisem */
.transport--fleet-no-icons .transport-body h3 {
    margin-bottom: 10px !important;
}

/* Mobil – výška se přizpůsobí obsahu */
@media (max-width: 700px) {
    .transport--fleet-no-icons .transport-body {
        flex: 0 0 auto !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 24px 22px 20px !important;
    }
}


/* =========================================================
   OPRAVA V4 – ODSTRANĚNÍ VELKÉ MEZERY NAD OBRÁZKEM
   Předchozí verze měla .transport-body pevně 220 px,
   což vytvářelo zbytečně vysoký bílý prostor.
   ========================================================= */

.transport--fleet-no-icons .transport-body {
    flex: 0 0 165px !important;
    min-height: 165px !important;
    height: 165px !important;
    padding: 24px 32px 18px !important;
}

.transport--fleet-no-icons .transport-body h3 {
    margin: 0 0 8px !important;
}

.transport--fleet-no-icons .transport-body p {
    margin: 0 !important;
}

.transport--fleet-no-icons .transport-photo {
    margin-top: 0 !important;
}

/* Na užších displejích necháme textové části o něco vyšší,
   aby se text při zalomení nepřekrýval s fotografií. */
@media (max-width: 1200px) and (min-width: 701px) {
    .transport--fleet-no-icons .transport-body {
        flex-basis: 185px !important;
        min-height: 185px !important;
        height: 185px !important;
    }
}

/* Mobil: výška podle skutečného obsahu */
@media (max-width: 700px) {
    .transport--fleet-no-icons .transport-body {
        flex: 0 0 auto !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 22px 22px 18px !important;
    }
}
