
/* IT-BALON.CZ v358 – mobile section repair pack
   Slider v357 remains untouched; this stylesheet is loaded after page inline CSS. */

@media (max-width: 900px) {
  /* Unify mobile sections: no decorative empty stripes to the right of labels */
  body .section-kicker,
  body .badge,
  body .eyebrow,
  body .case-label {
    width: auto !important;
    max-width: max-content !important;
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    white-space: normal !important;
  }

  body .section-kicker::before,
  body .section-kicker::after,
  body .badge::before,
  body .badge::after,
  body .eyebrow::before,
  body .eyebrow::after,
  body .case-label::before,
  body .case-label::after {
    content: none !important;
    display: none !important;
  }

  body .page-hero,
  body .section,
  body .section-sm {
    overflow-x: clip !important;
  }

  body .page-hero-copy,
  body .page-hero .container,
  body .section-head,
  body .section-head.compact,
  body .portal-content,
  body .launch-copy,
  body .support-hero .page-hero-copy,
  body .references-hero-v290 .page-hero-copy,
  body .services-hero-v290 .page-hero-copy,
  body .contact-hero-v290 .page-hero-copy,
  body .about-hero-v290 .page-hero-copy {
    text-align: center !important;
  }

  body .page-hero-actions,
  body .launch-actions,
  body .portal-actions,
  body .creative-actions {
    justify-content: center !important;
  }

  /* Homepage – Klientský portál preview: remove vertical cramped stats */
  body .portal-section {
    padding-top: 42px !important;
    padding-bottom: 34px !important;
  }

  body .portal-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  body .portal-preview {
    max-width: 390px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 18px !important;
    border-radius: 28px !important;
  }

  body .portal-preview .stats,
  body .portal-preview .stat,
  body .stats {
    gap: 10px !important;
  }

  body .portal-preview .stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
  }

  body .portal-preview .stat {
    min-height: 78px !important;
    padding: 12px 10px !important;
    border-radius: 18px !important;
  }

  body .portal-preview .ticket-table,
  body .ticket-table.compact-table {
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  body .portal-content .section-copy {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Homepage – Dvě značky: remove empty air, make logo cards intentional */
  body .dual-brands-section {
    padding-top: 34px !important;
    padding-bottom: 38px !important;
    margin-top: 0 !important;
  }

  body .dual-brands-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 0 auto 18px !important;
    text-align: center !important;
  }

  body .dual-brands-head .section-copy {
    max-width: 36ch !important;
    margin: 0 auto !important;
  }

  body .dual-brand-grid {
    margin-top: 16px !important;
    gap: 16px !important;
  }

  body .dual-brand-card {
    padding: 22px 18px !important;
    border-radius: 26px !important;
    gap: 14px !important;
  }

  body .dual-brand-logo-wrap {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body .dual-brand-copy p {
    max-width: 34ch !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Homepage – Services intro and launch block: reduce odd empty spaces */
  body .services-section {
    padding-top: 38px !important;
    padding-bottom: 38px !important;
  }

  body .home-services-head {
    gap: 12px !important;
    margin-bottom: 22px !important;
  }

  body .launch-section {
    padding-top: 40px !important;
    padding-bottom: 42px !important;
  }

  body .launch-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  body .launch-checklist,
  body .launch-service-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    border-radius: 28px !important;
    padding: 18px !important;
  }

  body .launch-checklist article,
  body .launch-service-grid article {
    min-height: 0 !important;
    padding: 18px !important;
    text-align: center !important;
    align-items: center !important;
  }

  body .launch-checklist article span,
  body .launch-service-grid article span {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Services page – hero panel + support desk visual without huge outer blanks */
  body .services-hero-v290 .page-hero-grid,
  body .support-hero-grid,
  body .references-hero-v290 .page-hero-grid,
  body .contact-hero-v290 .page-hero-grid,
  body .about-hero-v290 .page-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  body .services-hero-v290 .service-hero-panel--compact {
    max-width: 380px !important;
    min-height: 0 !important;
    padding: 22px !important;
    margin: 0 auto !important;
    border-radius: 28px !important;
  }

  body .services-hero-v290 .service-hero-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body .services-hero-v290 .service-hero-grid span {
    min-height: 78px !important;
    border-radius: 18px !important;
  }

  body .service-detail-section {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  body .service-detail-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  body .service-detail-copy {
    text-align: center !important;
  }

  body .service-side,
  body .service-side--support {
    padding: 0 !important;
    margin: 0 auto !important;
    width: 100% !important;
  }

  body .service-visual,
  body .service-visual--support {
    min-height: 250px !important;
    max-width: 300px !important;
    margin: 0 auto 16px !important;
    padding: 28px 22px !important;
    border-radius: 30px !important;
  }

  body .service-side-points {
    gap: 14px !important;
  }

  body .service-side-points article {
    min-height: 0 !important;
    padding: 18px !important;
    text-align: center !important;
  }

  /* Support page – mobile dashboard/demo cards */
  body .support-panel--pro {
    min-height: 0 !important;
    padding: 18px !important;
    border-radius: 28px !important;
  }

  body .support-status-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body .support-dashboard-head,
  body .support-ticket-flow,
  body .support-ticket-list > div,
  body .support-status-grid > div {
    border-radius: 18px !important;
  }

  body .support-highlight-grid,
  body .support-model-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body .support-card,
  body .support-model-card,
  body .support-process-copy,
  body .support-process-panel,
  body .support-remote-copy,
  body .support-network-card {
    padding: 20px !important;
    text-align: center !important;
  }

  /* Reference page – case studies and featured card tags */
  body .reference-hero-panel {
    min-height: 0 !important;
    padding: 22px !important;
    border-radius: 28px !important;
    text-align: center !important;
  }

  body .reference-tabs--pro,
  body .reference-category-jump {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body .case-grid-v21 {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body .case-card,
  body .case-featured-v21.featured {
    padding: 22px 18px !important;
    border-radius: 28px !important;
    text-align: center !important;
  }

  body .case-featured-v21.featured h3,
  body .case-card h3 {
    font-size: clamp(1.55rem, 7vw, 2rem) !important;
    line-height: 1.08 !important;
  }

  body .case-preview-window {
    padding: 16px !important;
    border-radius: 22px !important;
    margin: 18px 0 !important;
  }

  body .window-stats {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body .window-stats b {
    display: flex !important;
    width: 100% !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
  }

  body .case-featured-v21 .case-tags,
  body .case-tags {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 18px !important;
  }

  body .case-featured-v21 .case-tags span,
  body .case-tags span {
    width: 100% !important;
    min-height: 42px !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 10px 8px !important;
    border-radius: 16px !important;
  }

  body .reference-results,
  body .reference-logo-wall,
  body .reference-quote-section {
    padding-top: 38px !important;
    padding-bottom: 38px !important;
  }

  body .result-card,
  body .reference-category-card,
  body .reference-client-card,
  body .reference-quote-card,
  body .reference-creative-card {
    text-align: center !important;
  }

  /* About page – numbered process cards no longer leave empty right side */
  body .about-think-grid,
  body .about-number-grid,
  body .about-value-grid,
  body .about-stack-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body .about-think-card {
    display: grid !important;
    grid-template-columns: 58px 1fr !important;
    column-gap: 16px !important;
    row-gap: 6px !important;
    align-items: center !important;
    min-height: 0 !important;
    padding: 20px !important;
    text-align: left !important;
  }

  body .about-think-card::before,
  body .about-think-card::after {
    content: none !important;
    display: none !important;
  }

  body .about-think-card span {
    grid-row: 1 / span 2 !important;
    grid-column: 1 !important;
    margin: 0 !important;
    width: 56px !important;
    height: 56px !important;
  }

  body .about-think-card strong,
  body .about-think-card small {
    grid-column: 2 !important;
    max-width: none !important;
  }

  body .about-stack {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  body .about-stack-card {
    text-align: center !important;
  }

  body .about-stack-card .section-title {
    max-width: none !important;
    font-size: clamp(1.6rem, 7vw, 2.15rem) !important;
    line-height: 1.12 !important;
    text-wrap: balance !important;
  }

  body .about-stack-tags {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    padding: 16px !important;
  }

  body .about-stack-tags span {
    justify-content: center !important;
    text-align: center !important;
    min-height: 72px !important;
  }

  /* Contact page – map should not become a huge blank white rectangle on mobile */
  body .contact-page-grid,
  body .contact-business-grid,
  body .contact-method-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  body .contact-page-form-card--pro,
  body .contact-page-map-card,
  body .contact-page-map,
  body .contact-page-cards article,
  body .contact-method-grid article {
    border-radius: 24px !important;
    text-align: center !important;
  }

  body .contact-page-map-card {
    padding: 16px !important;
  }

  body .contact-page-map iframe,
  body .contact-map-preview iframe {
    min-height: 260px !important;
    height: 260px !important;
    display: block !important;
  }

  body .contact-map-preview {
    min-height: 260px !important;
  }
}

@media (max-width: 430px) {
  body .portal-preview {
    max-width: calc(100vw - 28px) !important;
  }

  body .case-featured-v21 .case-tags,
  body .case-tags,
  body .about-stack-tags {
    grid-template-columns: 1fr !important;
  }

  body .service-visual,
  body .service-visual--support {
    max-width: 282px !important;
  }

  body .contact-page-map iframe,
  body .contact-map-preview iframe {
    min-height: 230px !important;
    height: 230px !important;
  }
}


/* ===== IT-BALON.CZ v359: mobile section cleanup after screenshot pass ===== */
@media (max-width: 900px) {
  body .section-kicker,
  body .section-eyebrow,
  body .badge,
  body .eyebrow,
  body .case-label,
  body .service-label,
  body .support-label,
  body [class*="kicker"],
  body [class*="badge"] {
    width: auto !important;
    max-width: max-content !important;
    min-width: 0 !important;
    display: inline-flex !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    white-space: normal !important;
    text-align: center !important;
  }

  body .section-kicker::before,
  body .section-kicker::after,
  body .section-eyebrow::before,
  body .section-eyebrow::after,
  body .badge::before,
  body .badge::after,
  body .eyebrow::before,
  body .eyebrow::after,
  body .case-label::before,
  body .case-label::after,
  body .service-label::before,
  body .service-label::after,
  body .support-label::before,
  body .support-label::after,
  body [class*="kicker"]::before,
  body [class*="kicker"]::after,
  body [class*="badge"]::before,
  body [class*="badge"]::after {
    content: none !important;
    display: none !important;
  }

  body .services-section {
    padding-top: 18px !important;
    padding-bottom: 30px !important;
    margin-top: 0 !important;
  }

  body .home-services-head {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    gap: 10px !important;
  }

  body .portal-section {
    padding-top: 30px !important;
    padding-bottom: 18px !important;
    margin-bottom: 0 !important;
  }

  body .portal-section::before,
  body .portal-section::after,
  body .dual-brands-section::before,
  body .dual-brands-section::after,
  body .services-section::before,
  body .services-section::after {
    content: none !important;
    display: none !important;
  }

  body .portal-grid,
  body .portal-content {
    gap: 18px !important;
  }

  body .portal-actions {
    margin-bottom: 0 !important;
  }

  body .dual-brands-section {
    padding-top: 20px !important;
    padding-bottom: 28px !important;
    margin-top: 0 !important;
  }

  body .dual-brands-head {
    margin-bottom: 14px !important;
  }

  body .portal-preview .stats,
  body .stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    align-items: stretch !important;
  }

  body .portal-preview .stat,
  body .stats .stat {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 86px !important;
    padding: 14px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    border-radius: 18px !important;
  }

  body .dual-brand-card {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    padding: 24px 20px !important;
  }

  body .dual-brand-logo-wrap {
    width: 142px !important;
    height: 142px !important;
    margin: 0 auto 8px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 999px !important;
    overflow: visible !important;
  }

  body .dual-brand-logo-wrap img {
    width: 142px !important;
    height: 142px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  body .dual-brand-copy h3 {
    margin-top: 4px !important;
  }

  body .service-detail-section,
  body .support-highlights,
  body .support-how,
  body .support-model-section,
  body .references-page-section,
  body .reference-results,
  body .reference-logo-wall,
  body .reference-quote-section,
  body .about-stack,
  body .about-process,
  body .contact-page-section,
  body .contact-map-section {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
    min-height: 0 !important;
  }

  body .service-side,
  body .service-side--support,
  body .service-visual,
  body .service-visual--support,
  body .support-process-panel,
  body .support-dashboard-panel,
  body .support-ticket-panel,
  body .reference-hero-panel,
  body .case-preview-window,
  body .about-stack-card {
    max-width: calc(100vw - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body .service-visual,
  body .service-visual--support {
    min-height: 0 !important;
    padding: 28px 20px !important;
    border-radius: 28px !important;
  }

  body .service-visual h3,
  body .service-visual--support h3,
  body .service-visual .section-title,
  body .service-visual--support .section-title {
    max-width: 100% !important;
    font-size: clamp(1.45rem, 6.2vw, 2rem) !important;
    line-height: 1.12 !important;
    text-align: center !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  body .service-side-points,
  body .support-highlight-grid,
  body .support-model-grid {
    gap: 14px !important;
  }

  body .support-pill--progress,
  body .pill.blue,
  body .ticket-status--progress,
  body .status-progress,
  body .is-progress .pill {
    background: linear-gradient(90deg, #22d3ee 0%, #38bdf8 100%) !important;
    color: #063347 !important;
    border: 0 !important;
  }

  body .support-ticket-list > div {
    padding: 16px !important;
    gap: 10px !important;
  }

  body .case-featured-v21.featured,
  body .case-card {
    overflow: hidden !important;
  }

  body .case-preview-window {
    padding: 16px !important;
    border-radius: 22px !important;
  }

  body .case-preview-window .window-stats,
  body .window-stats {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  body .case-preview-window .window-stats b,
  body .window-stats b {
    width: 100% !important;
    min-height: 42px !important;
    border-radius: 999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 8px 12px !important;
  }

  body .case-tags,
  body .case-featured-v21 .case-tags,
  body .about-stack-tags {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
  }

  body .case-tags span,
  body .case-featured-v21 .case-tags span,
  body .about-stack-tags span {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 10px 8px !important;
    line-height: 1.18 !important;
  }

  body .reference-logo-wall:empty,
  body .reference-logo-wall .container:empty,
  body .logos-row:empty,
  body .logo-wall-v21:empty {
    display: none !important;
  }

  body .reference-logo-wall {
    min-height: 0 !important;
  }

  body .about-stack-card {
    padding: 26px 20px !important;
    border-radius: 28px !important;
    text-align: center !important;
  }

  body .about-stack-card .section-title,
  body .about-stack-card h2,
  body .about-stack-card h3 {
    max-width: 100% !important;
    text-align: center !important;
    font-size: clamp(1.55rem, 7vw, 2.1rem) !important;
    line-height: 1.12 !important;
  }

  body .about-think-card {
    grid-template-columns: 64px 1fr !important;
    text-align: left !important;
  }

  body .about-think-card span {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
  }

  body .contact-page-map-card,
  body .contact-page-map,
  body .contact-map-preview,
  body .map-card,
  body [class*="map"] {
    min-height: 0 !important;
  }

  body .contact-page-map-card::before,
  body .contact-page-map-card::after,
  body .contact-page-map::before,
  body .contact-page-map::after,
  body .contact-map-preview::before,
  body .contact-map-preview::after {
    content: none !important;
    display: none !important;
  }

  body .contact-page-map iframe,
  body .contact-map-preview iframe,
  body iframe[src*="maps"],
  body iframe[src*="google"] {
    width: 100% !important;
    min-height: 230px !important;
    height: 230px !important;
    border-radius: 22px !important;
  }
}

@media (max-width: 430px) {
  body .dual-brand-logo-wrap,
  body .dual-brand-logo-wrap img {
    width: 132px !important;
    height: 132px !important;
  }

  body .portal-section,
  body .dual-brands-section,
  body .service-detail-section,
  body .support-highlights,
  body .references-page-section,
  body .reference-results,
  body .reference-logo-wall,
  body .about-stack,
  body .contact-map-section {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  body .case-tags,
  body .case-featured-v21 .case-tags,
  body .about-stack-tags {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* ===== IT-BALON.CZ v360: follow-up mobile section cleanup ===== */
@media (max-width: 900px) {
  /* Obecné: zrušit prázdné dekorativní pruhy a pseudo-vrstvy, které na mobilu dělaly bílo/modré mezery. */
  body .services-section::before,
  body .services-section::after,
  body .portal-section::before,
  body .portal-section::after,
  body .dual-brands-section::before,
  body .dual-brands-section::after,
  body .service-anchor-nav-section::before,
  body .service-anchor-nav-section::after,
  body .support-highlights::before,
  body .support-highlights::after,
  body .support-how::before,
  body .support-how::after,
  body .references-page-section::before,
  body .references-page-section::after,
  body .reference-results::before,
  body .reference-results::after,
  body .about-stack::before,
  body .about-stack::after,
  body .contact-page-section::before,
  body .contact-page-section::after,
  body .contact-map-section::before,
  body .contact-map-section::after {
    content: none !important;
    display: none !important;
    background: none !important;
  }

  body .services-section,
  body .portal-section,
  body .dual-brands-section,
  body .service-anchor-nav-section,
  body .support-highlights,
  body .support-how,
  body .support-model-section,
  body .references-page-section,
  body .reference-results,
  body .about-stack,
  body .about-process,
  body .contact-page-section,
  body .contact-map-section,
  body .contact-methods {
    min-height: 0 !important;
    overflow: visible !important;
  }

  /* Homepage pod sliderem: bez modrého/prazdného pásu, copy hned navazuje. */
  body .services-section {
    padding-top: 16px !important;
    padding-bottom: 30px !important;
    background: linear-gradient(180deg, rgba(248,251,255,.98) 0%, #fff 62%, rgba(246,250,255,.98) 100%) !important;
  }

  body .home-services-head,
  body .services-section .section-head,
  body .services-section .section-head.compact {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 18px !important;
    gap: 10px !important;
  }

  body .home-services-head .section-copy,
  body .services-section .section-copy {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Štítky typu IT SLUŽBY / REFERENCE / PODPORA: nesmí za nimi zůstávat prázdná kapsle/pruh. */
  body .section-kicker,
  body .section-eyebrow,
  body .badge {
    width: fit-content !important;
    max-width: calc(100vw - 44px) !important;
    white-space: normal !important;
  }

  body .section-kicker::before,
  body .section-kicker::after,
  body .section-eyebrow::before,
  body .section-eyebrow::after,
  body .badge::before,
  body .badge::after {
    content: none !important;
    display: none !important;
  }

  /* Portal preview – statistiky opravdu 2 × 2 a bez plavání přes sebe. */
  body .portal-preview {
    padding: 18px !important;
    border-radius: 28px !important;
  }

  body .portal-preview .stats,
  body .portal-preview .portal-stats,
  body .stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: stretch !important;
    margin: 14px 0 18px !important;
  }

  body .portal-preview .stat,
  body .stats .stat {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 86px !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
  }

  body .portal-section {
    padding-top: 28px !important;
    padding-bottom: 20px !important;
    background: linear-gradient(180deg, #eef7ff 0%, #f8fbff 100%) !important;
  }

  body .portal-grid {
    gap: 22px !important;
  }

  body .portal-actions {
    margin-bottom: 0 !important;
  }

  /* Dvě značky – bez velké mezery nad tím, větší čistá kulatá loga, žádný rámeček okolo. */
  body .dual-brands-section {
    margin-top: 0 !important;
    padding-top: 22px !important;
    padding-bottom: 28px !important;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%) !important;
  }

  body .dual-brands-head {
    margin-bottom: 18px !important;
    gap: 8px !important;
  }

  body .dual-brand-grid {
    gap: 16px !important;
    margin-top: 18px !important;
  }

  body .dual-brand-card {
    border-radius: 28px !important;
    padding: 24px 20px 26px !important;
    box-shadow: 0 12px 28px rgba(15,35,70,.08) !important;
  }

  body .dual-brand-logo-wrap,
  body .dual-brand-logo-wrap img {
    width: 168px !important;
    height: 168px !important;
    max-width: 52vw !important;
    max-height: 52vw !important;
  }

  body .dual-brand-logo-wrap {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    border-radius: 999px !important;
  }

  body .dual-brand-logo-wrap img {
    object-fit: contain !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Služby – modré vizuální panely nesmí řezat text ani dělat obří plochu. */
  body .service-hero,
  body .service-detail-section,
  body .support-highlights,
  body .support-how,
  body .support-model-section {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  body .service-visual,
  body .service-visual--support,
  body .service-visual--servers,
  body .service-side,
  body .service-side--support,
  body .service-side--servers,
  body .support-dashboard-panel,
  body .support-process-panel,
  body .support-ticket-panel {
    max-width: calc(100vw - 28px) !important;
    overflow: hidden !important;
  }

  body .service-visual,
  body .service-visual--support {
    width: min(284px, 78vw) !important;
    min-height: 284px !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 auto 18px !important;
    padding: 26px 18px !important;
  }

  body .service-side-points {
    margin-top: 14px !important;
  }

  body .service-visual strong,
  body .service-visual b,
  body .service-visual p,
  body .service-visual span,
  body .service-side strong,
  body .service-side p {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  body .service-side > strong,
  body .service-hero-panel strong,
  body .service-hero-card strong {
    display: block !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    font-size: clamp(1.45rem, 7vw, 2rem) !important;
    line-height: 1.14 !important;
  }

  /* Reference / case studies – štítky a statistiky bez překrývání. */
  body .reference-hero,
  body .references-page-section,
  body .reference-results {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  body .case-card,
  body .case-featured-v21,
  body .case-featured-v21.featured {
    overflow: hidden !important;
    border-radius: 28px !important;
  }

  body .case-preview-window,
  body .reference-hero-panel,
  body .case-card .case-preview-window {
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 18px !important;
    overflow: hidden !important;
  }

  body .window-stats,
  body .case-preview-window .window-stats {
    position: static !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    transform: none !important;
    margin: 16px 0 !important;
  }

  body .window-stats b,
  body .case-preview-window .window-stats b {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border-radius: 999px !important;
  }

  body .case-tags,
  body .case-featured-v21 .case-tags,
  body .about-stack-tags {
    position: static !important;
    transform: none !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 18px !important;
    width: 100% !important;
  }

  body .case-tags span,
  body .case-featured-v21 .case-tags span,
  body .about-stack-tags span {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 10px 8px !important;
    line-height: 1.18 !important;
    white-space: normal !important;
  }

  /* O nás / proces – číselné boxy a nadpisy bez posunutí mimo kartu. */
  body .about-process,
  body .about-story,
  body .about-stack {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  body .about-think-card,
  body .process-card,
  body .about-process-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 64px 1fr !important;
    gap: 14px !important;
    align-items: start !important;
    text-align: left !important;
    padding: 22px 18px !important;
  }

  body .about-think-card span,
  body .process-card span,
  body .about-process-card span {
    position: static !important;
    transform: none !important;
    width: 56px !important;
    height: 56px !important;
    margin: 0 !important;
  }

  /* Kontakt / mapa – žádný obří prázdný blok. */
  body .contact-page-section,
  body .contact-map-section,
  body .contact-methods {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  body .contact-page-map-card {
    padding: 26px 20px !important;
    border-radius: 28px !important;
    min-height: 0 !important;
  }

  body .contact-page-map,
  body .contact-map-preview,
  body .map-card,
  body [class*="map-preview"] {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
  }

  body .contact-page-map iframe,
  body .contact-map-preview iframe,
  body iframe[src*="maps"],
  body iframe[src*="google"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 240px !important;
    min-height: 240px !important;
    border-radius: 22px !important;
    border: 0 !important;
  }
}

@media (max-width: 430px) {
  body .services-section {
    padding-top: 12px !important;
  }

  body .portal-section,
  body .dual-brands-section,
  body .service-detail-section,
  body .support-highlights,
  body .references-page-section,
  body .reference-results,
  body .about-stack,
  body .about-process,
  body .contact-page-section,
  body .contact-map-section {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  body .portal-preview .stats,
  body .stats {
    gap: 10px !important;
  }

  body .dual-brand-logo-wrap,
  body .dual-brand-logo-wrap img {
    width: 154px !important;
    height: 154px !important;
  }

  body .service-visual,
  body .service-visual--support {
    width: min(252px, 76vw) !important;
    min-height: 252px !important;
  }

  body .case-tags,
  body .case-featured-v21 .case-tags,
  body .about-stack-tags {
    grid-template-columns: 1fr 1fr !important;
  }
}


/* ===== IT-BALON.CZ v361: missing mobile section fixes ===== */
@media (max-width: 900px) {
  /* Homepage: remove remaining empty air blocks between slider / services / portal / dual brands. */
  body .itb214-slider + .services-section {
    margin-top: -34px !important;
    padding-top: 0 !important;
  }

  body .services-section .container,
  body .portal-section .container,
  body .dual-brands-section .container {
    padding-top: 0 !important;
  }

  body .portal-section {
    padding-top: 22px !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section {
    margin-top: -8px !important;
    padding-top: 12px !important;
  }

  body .portal-actions {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  body .dual-brands-section {
    padding-top: 14px !important;
    padding-bottom: 26px !important;
  }

  body .references-strip,
  body .reference-tabs-section,
  body .service-anchor-nav-section {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    min-height: 0 !important;
  }

  /* Labels: no ghost capsule trailing to the right. */
  body .page-hero .badge,
  body .page-hero .section-kicker,
  body .page-hero .section-eyebrow,
  body .service-detail-copy .section-kicker,
  body .visual-kicker,
  body .case-label {
    display: inline-flex !important;
    width: auto !important;
    max-width: calc(100vw - 44px) !important;
    min-width: 0 !important;
    white-space: normal !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: hidden !important;
  }

  body .page-hero .badge::before,
  body .page-hero .badge::after,
  body .page-hero .section-kicker::before,
  body .page-hero .section-kicker::after,
  body .page-hero .section-eyebrow::before,
  body .page-hero .section-eyebrow::after,
  body .service-detail-copy .section-kicker::before,
  body .service-detail-copy .section-kicker::after,
  body .visual-kicker::before,
  body .visual-kicker::after,
  body .case-label::before,
  body .case-label::after {
    content: none !important;
    display: none !important;
  }

  /* Portal preview: force the four counters to real 2x2 boxes. */
  body .portal-preview .stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 16px 0 18px !important;
  }

  body .portal-preview .stats > *,
  body .portal-preview .stat {
    position: static !important;
    transform: none !important;
    inset: auto !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 86px !important;
    margin: 0 !important;
  }

  /* Dual brand cards: use clean circular logo assets, bigger, with no white/blue frame behind. */
  body .dual-brand-card {
    padding-top: 22px !important;
    padding-bottom: 24px !important;
  }

  body .dual-brand-logo-wrap,
  body .dual-brand-logo-wrap img {
    width: 158px !important;
    height: 158px !important;
    max-width: 48vw !important;
    max-height: 48vw !important;
  }

  body .dual-brand-logo-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 10px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 999px !important;
    overflow: visible !important;
  }

  body .dual-brand-logo-wrap img {
    display: block !important;
    object-fit: contain !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
  }

  /* Services page: keep the big blue panels readable and compact. */
  body .services-hero-v290 .page-hero-grid,
  body .services-hero-v270 .page-hero-grid,
  body .service-detail-grid {
    gap: 18px !important;
  }

  body .service-hero-panel,
  body .service-hero-panel--compact {
    padding: 20px !important;
    min-height: 0 !important;
    border-radius: 28px !important;
    overflow: hidden !important;
  }

  body .service-hero-panel--compact strong,
  body .service-hero-panel strong {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
    font-size: clamp(1.38rem, 6.2vw, 1.9rem) !important;
    line-height: 1.18 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  body .service-visual,
  body .service-visual--support {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    min-height: 242px !important;
    width: min(250px, 72vw) !important;
    aspect-ratio: 1 / 1 !important;
  }

  body .service-side,
  body .service-side--support,
  body .service-side--servers,
  body .service-side--web,
  body .service-side--hardware,
  body .service-side--video {
    padding: 0 !important;
    margin-top: 0 !important;
  }

  body .service-side-points article {
    min-height: 0 !important;
    padding: 18px 16px !important;
  }

  /* Ticket colors: progress state should be cyan/blue, not orange. */
  body .pill.blue,
  body .support-pill--progress,
  body .support-ticket-flow .is-progress,
  body .support-ticket-list .is-progress,
  body .support-ticket-list b[class*="progress"],
  body .support-ticket-list b.blue {
    background: linear-gradient(90deg, #21d4f3 0%, #38bdf8 100%) !important;
    color: #04364a !important;
    border-color: transparent !important;
  }

  /* References hero stats and case tags: no overlapping / empty side panels. */
  body .reference-hero-panel {
    padding: 22px 18px !important;
    min-height: 0 !important;
  }

  body .reference-mini-stats {
    position: static !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 18px 0 0 !important;
    transform: none !important;
  }

  body .reference-mini-stats div {
    position: static !important;
    width: 100% !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border-radius: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
  }

  body .case-featured-v21.featured {
    padding: 24px 18px !important;
  }

  body .case-preview-window {
    margin: 16px 0 !important;
    padding: 16px !important;
  }

  body .case-preview-window .window-stats {
    grid-template-columns: 1fr !important;
    margin: 14px 0 !important;
  }

  body .case-featured-v21 .case-tags,
  body .case-tags {
    grid-template-columns: 1fr !important;
  }

  /* About: prevent title overflow in blue stack card. */
  body .about-stack-card {
    overflow: hidden !important;
  }

  body .about-stack-card .section-title,
  body .about-stack-card h2,
  body .about-stack-card h3 {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  body .about-stack-tags {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body .about-stack-tags span {
    min-height: 58px !important;
    padding: 10px 8px !important;
  }

  body .about-think-card,
  body .process-card,
  body .about-process-card {
    grid-template-columns: 56px 1fr !important;
    gap: 12px !important;
  }

  /* Contact map: cap the map so it never becomes a giant blank white block. */
  body .contact-page-map-card {
    padding: 18px !important;
    min-height: 0 !important;
    border-radius: 26px !important;
  }

  body .contact-page-map {
    min-height: 0 !important;
    height: auto !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }

  body .contact-page-map iframe,
  body iframe[src*="maps"] {
    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;
  }

  body .contact-page-map .btn {
    margin: 12px !important;
  }
}

@media (max-width: 430px) {
  body .itb214-slider + .services-section {
    margin-top: -28px !important;
  }

  body .portal-section {
    padding-top: 18px !important;
  }

  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section {
    margin-top: -6px !important;
    padding-top: 10px !important;
  }

  body .dual-brand-logo-wrap,
  body .dual-brand-logo-wrap img {
    width: 146px !important;
    height: 146px !important;
  }

  body .service-visual,
  body .service-visual--support {
    width: min(232px, 70vw) !important;
    min-height: 232px !important;
  }

  body .about-stack-tags,
  body .case-tags,
  body .case-featured-v21 .case-tags {
    grid-template-columns: 1fr !important;
  }

  body .contact-page-map iframe,
  body iframe[src*="maps"] {
    height: 200px !important;
    min-height: 200px !important;
    max-height: 200px !important;
  }
}


/* ===== IT-BALON.CZ v362: remaining mobile section cleanup ===== */
@media (max-width: 900px) {
  /* Obecně stáhnout přestřelené mezery, ale nesahat na hotový slider. */
  body main > section:not(.itb214-slider),
  body .section:not(.itb214-slider),
  body .section-sm:not(.itb214-slider),
  body .page-section {
    padding-top: clamp(34px, 8vw, 54px) !important;
    padding-bottom: clamp(34px, 8vw, 54px) !important;
  }

  body .section-head,
  body .section-head.compact,
  body .page-hero-copy,
  body .page-hero-copy.itb-stagger-group,
  body .hero-copy,
  body .portal-content,
  body .dual-brands-head,
  body .faq-stage__intro,
  body .launch-copy {
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body .section-kicker,
  body .eyebrow,
  body .badge,
  body .page-kicker,
  body .reference-kicker,
  body .service-kicker {
    display: inline-flex !important;
    width: auto !important;
    max-width: calc(100vw - 40px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    white-space: normal !important;
    text-align: center !important;
    justify-content: center !important;
  }

  body .section-kicker::before,
  body .section-kicker::after,
  body .eyebrow::before,
  body .eyebrow::after,
  body .badge::before,
  body .badge::after,
  body .page-kicker::before,
  body .page-kicker::after {
    content: none !important;
    display: none !important;
  }

  /* Homepage: mezi sliderem a službami už nemá být prázdný obdélník. */
  body .itb214-slider + .services-section {
    margin-top: -32px !important;
    padding-top: 0 !important;
  }

  body .home-services-head {
    gap: 10px !important;
    margin-bottom: 24px !important;
  }

  body .home-services-head .section-copy {
    margin-top: 0 !important;
  }

  /* Portál preview: statistiky striktně 2×2 a bez absolutních pozic. */
  body .portal-preview {
    padding: 18px !important;
    border-radius: 30px !important;
    min-height: 0 !important;
  }

  body .portal-preview .stats,
  body .portal-preview .portal-stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 16px 0 !important;
  }

  body .portal-preview .stats .stat,
  body .portal-preview .portal-stats .stat,
  body .portal-preview .stat {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 84px !important;
    margin: 0 !important;
    padding: 12px 8px !important;
    border-radius: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body .portal-preview .ticket-table,
  body .portal-preview .compact-table {
    margin-top: 12px !important;
    overflow: hidden !important;
  }

  /* Po portálu nesmí být velké prázdné modré/dekorativní pásmo. */
  body .portal-section,
  body #portal-section {
    padding-bottom: 24px !important;
  }

  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section {
    margin-top: 0 !important;
    padding-top: 24px !important;
  }

  body .portal-section::before,
  body .portal-section::after,
  body .dual-brands-section::before,
  body .dual-brands-section::after,
  body .services-section::after,
  body .launch-section::after,
  body .contact-section::after {
    display: none !important;
    content: none !important;
  }

  /* Dvě značky: správně velká kulatá loga bez pozadí a bez rámečku. */
  body .dual-brand-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    margin-top: 18px !important;
  }

  body .dual-brand-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    text-align: center !important;
    justify-items: center !important;
    gap: 12px !important;
    padding: 24px 18px !important;
    min-height: 0 !important;
    border-radius: 28px !important;
  }

  body .dual-brand-logo-wrap {
    width: 174px !important;
    height: 174px !important;
    max-width: 54vw !important;
    max-height: 54vw !important;
    margin: 0 auto 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    overflow: visible !important;
  }

  body .dual-brand-logo-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    filter: none !important;
  }

  body .dual-brand-copy h3 {
    margin-top: 0 !important;
  }

  /* Modré prezentační panely: texty nesmí přetékat ani se lepit k okrajům. */
  body .service-hero-panel,
  body .service-hero-panel--compact,
  body .support-hero-panel,
  body .reference-hero-panel,
  body .about-stack-card,
  body .case-featured-v21,
  body .case-featured-v21.featured,
  body .launch-grid,
  body .creative-band {
    overflow: hidden !important;
    padding: 24px 18px !important;
    border-radius: 30px !important;
    min-height: 0 !important;
  }

  body .service-hero-panel h2,
  body .service-hero-panel h3,
  body .service-hero-panel strong,
  body .support-hero-panel h2,
  body .reference-hero-panel h2,
  body .about-stack-card h2,
  body .about-stack-card h3,
  body .case-featured-v21 h2,
  body .case-featured-v21 h3,
  body .launch-grid h2,
  body .launch-grid h3 {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: auto !important;
  }

  body .service-visual,
  body .service-visual--support,
  body .support-desk-card,
  body .support-desk-visual,
  body .service-side-visual {
    width: min(250px, 74vw) !important;
    min-width: 0 !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 12px auto 18px !important;
    padding: 20px !important;
  }

  /* Reference / case studies: žádné překryvy tagů, statistik nebo bublin. */
  body .reference-mini-stats,
  body .window-stats,
  body .case-preview-window .window-stats,
  body .case-metrics,
  body .case-tags,
  body .case-featured-v21 .case-tags,
  body .about-stack-tags {
    position: static !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 16px 0 0 !important;
    transform: none !important;
  }

  body .reference-mini-stats *,
  body .window-stats *,
  body .case-tags *,
  body .about-stack-tags * {
    position: static !important;
    transform: none !important;
    max-width: 100% !important;
  }

  body .case-preview-window,
  body .case-browser,
  body .case-device,
  body .reference-card {
    min-height: 0 !important;
    padding: 16px !important;
    overflow: hidden !important;
  }

  /* NextGen / browser mockup: kruhové badge vevnitř nepřekrývají řádky. */
  body .case-browser .badge,
  body .case-browser .pill,
  body .case-browser [class*="badge"],
  body .case-browser [class*="pill"] {
    position: static !important;
    display: inline-flex !important;
    margin: 6px auto !important;
    transform: none !important;
  }

  /* Krokové/process karty zarovnat hezky bez odskoků doprava. */
  body .process-card,
  body .about-process-card,
  body .about-think-card,
  body .step-card,
  body [class*="process"] article {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    justify-items: center !important;
    gap: 12px !important;
    padding: 22px 18px !important;
    min-height: 0 !important;
  }

  body .process-card::before,
  body .about-process-card::before,
  body .step-card::before {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Mapy a prázdné iframe bloky: nikdy neobří prázdná plocha. */
  body .contact-map-preview,
  body .contact-page-map,
  body .contact-page-map-card,
  body .map-card,
  body [class*="map"] iframe,
  body iframe[src*="maps"] {
    min-height: 0 !important;
    max-height: 240px !important;
  }

  body .contact-map-preview,
  body .contact-page-map,
  body .map-card {
    height: 240px !important;
    overflow: hidden !important;
    border-radius: 24px !important;
  }

  body .contact-map-preview iframe,
  body .contact-page-map iframe,
  body iframe[src*="maps"] {
    height: 240px !important;
  }

  /* Tlačítka v mobilech držet v hezké mřížce a bez přetékání. */
  body .page-hero-actions,
  body .portal-actions,
  body .creative-actions,
  body .launch-actions,
  body .service-actions,
  body .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    width: 100% !important;
  }

  body .page-hero-actions .btn,
  body .portal-actions .btn,
  body .creative-actions .btn,
  body .launch-actions .btn,
  body .service-actions .btn,
  body .hero-actions .btn {
    width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    text-align: center !important;
    justify-content: center !important;
  }

  /* Stav V řešení: modro-tyrkysový. */
  body .pill.blue,
  body .pill.is-progress,
  body .support-pill--progress,
  body [class*="progress"].pill,
  body [class*="status"][class*="progress"] {
    background: linear-gradient(90deg, #1fd0ff 0%, #38bdf8 100%) !important;
    color: #04364a !important;
  }
}

@media (max-width: 430px) {
  body main > section:not(.itb214-slider),
  body .section:not(.itb214-slider),
  body .section-sm:not(.itb214-slider),
  body .page-section {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  body .portal-preview .stats,
  body .portal-preview .portal-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body .dual-brand-logo-wrap {
    width: 158px !important;
    height: 158px !important;
  }

  body .page-hero-actions,
  body .portal-actions,
  body .creative-actions,
  body .launch-actions,
  body .service-actions,
  body .hero-actions {
    grid-template-columns: 1fr !important;
  }

  body .contact-map-preview,
  body .contact-page-map,
  body .map-card,
  body .contact-map-preview iframe,
  body .contact-page-map iframe,
  body iframe[src*="maps"] {
    height: 200px !important;
    max-height: 200px !important;
  }
}


/* ===== IT-BALON.CZ v363: remaining mobile section repairs ===== */
@media (max-width: 900px) {
  /* Obecné zklidnění mobilu mimo slider: bez falešných prázdných dekor bloků. */
  body main > section:not(.itb214-slider),
  body .section:not(.itb214-slider),
  body .section-sm:not(.itb214-slider),
  body .page-section {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 26px !important;
    padding-bottom: 26px !important;
    min-height: 0 !important;
  }

  body .portal-section::before,
  body .portal-section::after,
  body .dual-brands-section::before,
  body .dual-brands-section::after,
  body .support-highlights::before,
  body .support-highlights::after,
  body .support-process::before,
  body .support-process::after,
  body .reference-results::before,
  body .reference-results::after,
  body .contact-page-main::before,
  body .contact-page-main::after,
  body .services-contact-cta::before,
  body .services-contact-cta::after,
  body .reference-logo-wall::before,
  body .reference-logo-wall::after {
    content: none !important;
    display: none !important;
  }

  body .section-decoration,
  body .section-bg-decoration,
  body .decor-line,
  body .decor-orb,
  body .abstract-orb,
  body .floating-orb,
  body .bg-orb,
  body .soft-orb,
  body .vertical-line,
  body .timeline-line {
    display: none !important;
  }

  /* Štítky v hero blocích: odstranit prázdný natažený ocásek vpravo. */
  body .page-hero .badge,
  body .page-hero .section-kicker,
  body .page-hero .eyebrow,
  body .section-kicker,
  body .eyebrow {
    width: auto !important;
    max-width: max-content !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    text-align: center !important;
    justify-content: center !important;
  }

  body .page-hero .badge::before,
  body .page-hero .badge::after,
  body .page-hero .section-kicker::before,
  body .page-hero .section-kicker::after,
  body .page-hero .eyebrow::before,
  body .page-hero .eyebrow::after,
  body .section-kicker::after,
  body .eyebrow::after {
    content: none !important;
    display: none !important;
  }

  /* Homepage: navázání služeb po slideru bez prázdného modrého pásu. */
  body .itb214-slider + .services-section {
    margin-top: -20px !important;
    padding-top: 24px !important;
    background: linear-gradient(180deg, rgba(237,246,255,.92) 0%, rgba(247,251,255,.98) 34%, #fff 100%) !important;
  }

  body .home-services-head,
  body .home-services-head.section-head,
  body .section-head.compact {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    text-align: center !important;
    gap: 12px !important;
    margin-bottom: 18px !important;
  }

  /* Portál – náhled: statistiky 2x2, bez nudle pod sebou. */
  body .portal-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  body .portal-preview {
    width: 100% !important;
    max-width: 100% !important;
    padding: 18px !important;
    border-radius: 28px !important;
    overflow: hidden !important;
  }

  body .portal-preview .portal-top {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    text-align: center !important;
    gap: 12px !important;
    padding: 18px !important;
    border-radius: 22px !important;
  }

  body .portal-preview .stats,
  body .portal-preview .portal-stats,
  body .stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 16px 0 !important;
    align-items: stretch !important;
  }

  body .portal-preview .stat,
  body .portal-preview .portal-stat,
  body .stats .stat {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 96px !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    border-radius: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  body .ticket-table,
  body .compact-table {
    overflow: hidden !important;
    border-radius: 20px !important;
  }

  body .ticket-table .row,
  body .compact-table .row {
    grid-template-columns: .7fr 1.45fr 1fr .9fr !important;
    gap: 8px !important;
    padding: 12px 8px !important;
    font-size: 12px !important;
    align-items: center !important;
  }

  /* Dvě značky – loga ve správných velikostech a bez jakéhokoli rámečku. */
  body .dual-brands-section {
    padding-top: 24px !important;
    padding-bottom: 26px !important;
    background: linear-gradient(180deg, #eef7ff 0%, #f8fbff 54%, #ffffff 100%) !important;
  }

  body .dual-brands-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    text-align: center !important;
    gap: 12px !important;
    margin-bottom: 18px !important;
  }

  body .dual-brand-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin-top: 18px !important;
  }

  body .dual-brand-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    text-align: center !important;
    gap: 12px !important;
    padding: 24px 18px 22px !important;
    border-radius: 28px !important;
    min-height: 0 !important;
  }

  body .dual-brand-logo-wrap {
    width: 170px !important;
    height: 170px !important;
    max-width: 56vw !important;
    max-height: 56vw !important;
    padding: 0 !important;
    margin: 0 auto 8px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    overflow: visible !important;
  }

  body .dual-brand-logo-wrap img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
  }

  /* Modré bloky – žádné přetékání textů ani posunuté odznaky. */
  body .service-hero-panel--compact,
  body .support-panel--pro,
  body .support-hero-panel,
  body .reference-hero-panel,
  body .case-featured-v21,
  body .case-featured-v21.featured,
  body .about-hero-panel,
  body .about-stack-card,
  body .creative-band,
  body .launch-grid {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    padding: 24px 18px !important;
    border-radius: 28px !important;
    box-sizing: border-box !important;
  }

  body .service-hero-grid,
  body .support-status-grid,
  body .about-orbit,
  body .creative-features,
  body .contact-business-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body .service-hero-grid span,
  body .about-orbit span,
  body .creative-feature,
  body .support-status-grid > div {
    min-width: 0 !important;
    min-height: 86px !important;
    padding: 12px 10px !important;
    overflow: hidden !important;
    text-align: center !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  body .service-hero-panel--compact strong,
  body .service-hero-panel--compact h2,
  body .support-panel--pro strong,
  body .support-dashboard-head strong,
  body .reference-hero-panel h2,
  body .case-featured-v21 h2,
  body .case-featured-v21 h3,
  body .about-hero-panel strong,
  body .about-stack-card h2,
  body .about-stack-card h3,
  body .creative-band h2,
  body .launch-grid h2,
  body .launch-grid h3 {
    max-width: 100% !important;
    text-align: center !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: auto !important;
    line-height: 1.12 !important;
  }

  body .support-ticket-flow,
  body .support-ticket-list,
  body .case-tags,
  body .case-metrics,
  body .window-stats,
  body .reference-mini-stats,
  body .about-stack-tags {
    position: static !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
    transform: none !important;
  }

  body .support-ticket-flow > *,
  body .case-tags > *,
  body .case-metrics > *,
  body .window-stats > *,
  body .reference-mini-stats > *,
  body .about-stack-tags > * {
    position: static !important;
    transform: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
  }

  body .case-preview-window,
  body .case-browser,
  body .case-device {
    height: auto !important;
    min-height: 0 !important;
    padding: 18px !important;
    overflow: hidden !important;
  }

  body .case-browser [class*="badge"],
  body .case-browser [class*="pill"],
  body .case-device [class*="badge"],
  body .case-device [class*="pill"] {
    position: static !important;
    display: inline-flex !important;
    transform: none !important;
    margin: 6px auto !important;
  }

  /* Sekce s jednou kartou / mapou nesmí dělat obří prázdno. */
  body .contact-page-map,
  body .contact-map-preview,
  body .contact-page-map-card,
  body .map-card,
  body .contact-page-map iframe,
  body .contact-map-preview iframe,
  body iframe[src*="maps"] {
    min-height: 0 !important;
    height: 220px !important;
    max-height: 220px !important;
  }

  body .contact-map-preview__overlay {
    align-items: center !important;
    justify-content: center !important;
  }

  /* Procesní kroky na O nás – čísla / ikonky vlevo nesmí vytvářet prázdné sloupce. */
  body .about-think-grid,
  body .about-value-grid,
  body .about-number-grid,
  body .about-timeline,
  body .process-grid,
  body .step-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body .about-think-card,
  body .about-value-grid article,
  body .about-number-grid article,
  body .about-timeline article,
  body .process-card,
  body .step-card {
    min-height: 0 !important;
    padding: 22px 18px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    text-align: center !important;
  }

  body .about-think-card::before,
  body .about-think-card::after,
  body .process-card::before,
  body .step-card::before {
    content: none !important;
    display: none !important;
  }
}

@media (max-width: 430px) {
  body main > section:not(.itb214-slider),
  body .section:not(.itb214-slider),
  body .section-sm:not(.itb214-slider),
  body .page-section {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }

  body .portal-preview .stats,
  body .portal-preview .portal-stats,
  body .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body .portal-preview .stat,
  body .portal-preview .portal-stat,
  body .stats .stat {
    min-height: 84px !important;
  }

  body .dual-brand-logo-wrap {
    width: 154px !important;
    height: 154px !important;
  }

  body .service-hero-grid,
  body .support-status-grid,
  body .about-orbit,
  body .creative-features,
  body .contact-business-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  body .contact-page-map,
  body .contact-map-preview,
  body .contact-page-map-card,
  body .map-card,
  body .contact-page-map iframe,
  body .contact-map-preview iframe,
  body iframe[src*="maps"] {
    height: 190px !important;
    max-height: 190px !important;
  }

  body .ticket-table .row,
  body .compact-table .row {
    font-size: 11.2px !important;
    gap: 6px !important;
    padding: 11px 6px !important;
  }
}


/* ===== IT-BALON.CZ v364: remaining mobile section cleanup ===== */
@media (max-width: 900px) {
  /* Základní mobilní rytmus sekcí – menší odskoky a čisté navazování. */
  body main > section:not(.itb214-slider),
  body .section:not(.itb214-slider),
  body .section-sm:not(.itb214-slider),
  body .page-section,
  body .page-hero {
    margin-top: 0 !important;
    padding-top: 28px !important;
    padding-bottom: 28px !important;
    overflow: hidden !important;
  }

  body main > section:not(.itb214-slider)::before,
  body main > section:not(.itb214-slider)::after,
  body .section:not(.itb214-slider)::before,
  body .section:not(.itb214-slider)::after,
  body .section-sm:not(.itb214-slider)::before,
  body .section-sm:not(.itb214-slider)::after {
    max-width: 100vw !important;
  }

  /* Sekční hlavičky – stejné centrování, žádné dlouhé čáry/ocásky. */
  body .section-head,
  body .section-head.compact,
  body .faq-stage__intro,
  body .page-hero-copy,
  body .launch-copy,
  body .portal-content,
  body .contact-side--info {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    align-items: center !important;
    text-align: center !important;
    gap: 10px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
  }

  body .section-title,
  body .section-head h2,
  body .page-hero h1,
  body .launch-copy h2,
  body .creative-band h2,
  body .faq-stage__intro h2 {
    max-width: 12.6em !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    line-height: 1.08 !important;
    letter-spacing: -.045em !important;
  }

  body .section-copy,
  body .section-head p,
  body .page-hero p,
  body .launch-copy p,
  body .creative-band p,
  body .faq-stage__intro p,
  body .contact-side--info p {
    max-width: 36ch !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    line-height: 1.62 !important;
  }

  /* Homepage služby – karty stejně vysoké, bez přetékání a s menšími mezerami. */
  body .home-services-grid,
  body .cards-grid.six,
  body .cards-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body .home-services-grid .service-card,
  body .service-card,
  body .feature-card,
  body .reference-card {
    min-height: 0 !important;
    height: auto !important;
    padding: 22px 18px !important;
    border-radius: 26px !important;
    text-align: center !important;
    display: grid !important;
    justify-items: center !important;
    gap: 10px !important;
  }

  body .home-services-grid .service-card .icon,
  body .service-card .icon {
    margin: 0 auto 4px !important;
  }

  body .home-services-grid .service-card h3,
  body .service-card h3,
  body .feature-card h3,
  body .reference-card h3 {
    margin: 0 !important;
    max-width: 18em !important;
    line-height: 1.14 !important;
    overflow-wrap: break-word !important;
  }

  body .home-services-grid .service-card p,
  body .service-card p,
  body .feature-card p,
  body .reference-card p {
    margin: 0 !important;
    max-width: 34ch !important;
  }

  body .home-services-grid .service-card .more,
  body .service-card .more {
    margin-top: 4px !important;
  }

  /* Reference/domény – na mobilu zrušit velký natažený pás a ořezat na čistý blok. */
  body .references-strip {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  body .logos-marquee,
  body .logos-marquee--domains {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    max-height: 210px !important;
    overflow: hidden !important;
    border-radius: 24px !important;
  }

  body .logos-marquee__track {
    gap: 10px !important;
  }

  body .partner-logo,
  body .partner-logo--domain {
    min-width: 172px !important;
    height: auto !important;
    min-height: 68px !important;
    padding: 12px !important;
    border-radius: 18px !important;
  }

  body .reference-mini-head {
    display: grid !important;
    gap: 4px !important;
    text-align: center !important;
    justify-items: center !important;
  }

  /* Portál – tabulka a statistiky kompaktně, bez přetékání stavů. */
  body .portal-preview {
    width: min(100%, 390px) !important;
  }

  body .portal-top {
    gap: 10px !important;
    align-items: center !important;
  }

  body .portal-top strong {
    font-size: 15px !important;
    line-height: 1.15 !important;
  }

  body .mini-btn {
    white-space: nowrap !important;
    font-size: 11px !important;
    padding: 8px 10px !important;
  }

  body .ticket-table.compact-table,
  body .portal-preview .ticket-table {
    display: grid !important;
    gap: 8px !important;
    background: transparent !important;
  }

  body .ticket-table .row,
  body .compact-table .row {
    display: grid !important;
    grid-template-columns: .56fr 1.28fr 1fr .78fr !important;
    align-items: center !important;
    gap: 6px !important;
    border-radius: 14px !important;
  }

  body .ticket-table .row span,
  body .compact-table .row span {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  body .pill,
  body [class*="pill"] {
    max-width: 100% !important;
    white-space: normal !important;
    line-height: 1.15 !important;
    text-align: center !important;
  }

  /* Dvě značky – loga bez podkladového čtverce, karty opticky lehčí. */
  body .dual-brand-card {
    background: rgba(255,255,255,.86) !important;
    border: 1px solid rgba(140,165,204,.16) !important;
    box-shadow: 0 16px 34px rgba(20,43,86,.055) !important;
  }

  body .dual-brand-logo-wrap,
  body .dual-brand-logo-wrap::before,
  body .dual-brand-logo-wrap::after {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
  }

  body .dual-brand-logo-wrap img {
    mix-blend-mode: normal !important;
  }

  /* Kreativní a launch bloky – 2x2 kde to dává smysl, jinak čistý grid. */
  body .creative-grid,
  body .contact-split,
  body .faq-stage,
  body .launch-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  body .creative-features,
  body .launch-checklist,
  body .launch-service-grid,
  body .contact-info-list {
    gap: 12px !important;
  }

  body .creative-feature,
  body .launch-checklist article,
  body .launch-service-grid article,
  body .contact-info-card {
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    border-radius: 20px !important;
  }

  /* Kontakt – mapa menší a formulář nelepí se na kraje. */
  body .contact-form-wrap,
  body .cta-card {
    padding: 18px !important;
    border-radius: 28px !important;
  }

  body .contact-side,
  body .contact-side--form,
  body .contact-side--info {
    min-width: 0 !important;
    width: 100% !important;
  }

  body .form-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body input,
  body select,
  body textarea {
    max-width: 100% !important;
  }

  body textarea {
    min-height: 118px !important;
  }

  body .form-actions {
    justify-content: center !important;
    text-align: center !important;
    gap: 10px !important;
  }

  body .form-help {
    max-width: 34ch !important;
    margin: 0 auto !important;
  }

  /* Poslední pojistka proti mobilnímu horizontálnímu přetékání. */
  body * {
    max-width: 100%;
  }
}

@media (max-width: 430px) {
  body main > section:not(.itb214-slider),
  body .section:not(.itb214-slider),
  body .section-sm:not(.itb214-slider),
  body .page-section,
  body .page-hero {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }

  body .section-title,
  body .section-head h2,
  body .page-hero h1,
  body .launch-copy h2,
  body .creative-band h2,
  body .faq-stage__intro h2 {
    max-width: 11.4em !important;
  }

  body .logos-marquee,
  body .logos-marquee--domains {
    max-height: 180px !important;
  }

  body .partner-logo,
  body .partner-logo--domain {
    min-width: 156px !important;
  }

  body .ticket-table .row,
  body .compact-table .row {
    grid-template-columns: .5fr 1.28fr .9fr .72fr !important;
    font-size: 10.8px !important;
  }

  body .contact-form-wrap,
  body .cta-card {
    padding: 16px !important;
  }
}


/* ===== IT-BALON.CZ v365: targeted cleanup of remaining mobile gaps/overlaps ===== */
@media (max-width: 900px) {
  html,
  body,
  body .site-shell,
  body main {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  /* Globální pojistka: dekorativní ocásky u malých štítků pryč. */
  body .section-kicker,
  body .page-hero .section-kicker,
  body .page-hero .badge,
  body .eyebrow,
  body .case-label,
  body .label-pill,
  body [class*="kicker"],
  body [class*="eyebrow"] {
    display: inline-flex !important;
    width: fit-content !important;
    min-width: 0 !important;
    max-width: calc(100vw - 42px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 9px 15px !important;
    border-radius: 999px !important;
    white-space: normal !important;
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
    line-height: 1.15 !important;
    overflow: hidden !important;
  }

  body .section-kicker::before,
  body .section-kicker::after,
  body .page-hero .section-kicker::before,
  body .page-hero .section-kicker::after,
  body .page-hero .badge::before,
  body .page-hero .badge::after,
  body .eyebrow::before,
  body .eyebrow::after,
  body .case-label::before,
  body .case-label::after,
  body [class*="kicker"]::before,
  body [class*="kicker"]::after,
  body [class*="eyebrow"]::before,
  body [class*="eyebrow"]::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  /* 1) Homepage: po slideru odstranit prázdný blok – ponechat jen úvodní text a karty služeb. */
  body .itb214-slider + .services-section {
    margin-top: -40px !important;
    padding-top: 0 !important;
    padding-bottom: 24px !important;
    background: linear-gradient(180deg, rgba(237,246,255,.88) 0%, rgba(248,251,255,.98) 24%, #fff 100%) !important;
  }

  body .itb214-slider + .services-section::before,
  body .itb214-slider + .services-section::after {
    content: none !important;
    display: none !important;
  }

  body .itb214-slider + .services-section .container {
    padding-top: 0 !important;
  }

  body .itb214-slider + .services-section .home-services-head {
    margin: 0 auto 14px !important;
    padding: 0 !important;
    gap: 0 !important;
    min-height: 0 !important;
  }

  body .itb214-slider + .services-section .home-services-head .section-kicker,
  body .itb214-slider + .services-section .home-services-head .section-title {
    display: none !important;
  }

  body .itb214-slider + .services-section .home-services-head .section-copy,
  body .itb214-slider + .services-section .section-copy {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    max-width: 37ch !important;
  }

  /* 2) Portál: náhled a statistiky vždy čistě 2×2, žádné vysoké sloupce. */
  body .portal-section {
    padding-top: 24px !important;
    padding-bottom: 14px !important;
  }

  body .portal-preview {
    width: min(100%, 386px) !important;
    max-width: 386px !important;
    margin-inline: auto !important;
    padding: 16px !important;
    border-radius: 28px !important;
  }

  body .portal-preview .stats,
  body .portal-preview .portal-stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 14px 0 !important;
    width: 100% !important;
  }

  body .portal-preview .stat,
  body .portal-preview .portal-stat {
    min-width: 0 !important;
    min-height: 74px !important;
    height: auto !important;
    aspect-ratio: auto !important;
    padding: 10px 8px !important;
    border-radius: 18px !important;
  }

  body .portal-preview .stat strong,
  body .portal-preview .portal-stat strong,
  body .portal-preview .stat b,
  body .portal-preview .portal-stat b {
    font-size: 24px !important;
    line-height: 1 !important;
  }

  body .portal-preview .stat span,
  body .portal-preview .portal-stat span {
    font-size: 11px !important;
    line-height: 1.16 !important;
  }

  body .portal-preview .ticket-table .row,
  body .portal-preview .compact-table .row {
    grid-template-columns: .58fr 1.35fr .9fr .68fr !important;
    gap: 5px !important;
    padding: 10px 6px !important;
    font-size: 10.6px !important;
  }

  body .portal-preview .pill,
  body .portal-preview [class*="pill"],
  body .portal-preview [class*="status"] {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 5px 7px !important;
    line-height: 1.05 !important;
    white-space: normal !important;
  }

  /* 3) Mezi portálem a dvěma značkami nesmí zůstat prázdný pás. */
  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 24px !important;
    background: linear-gradient(180deg, #eef7ff 0%, #f8fbff 46%, #ffffff 100%) !important;
  }

  body .portal-section + .dual-brands-section::before,
  body .portal-section + .dual-brands-section::after,
  body #portal-section + .dual-brands-section::before,
  body #portal-section + .dual-brands-section::after {
    content: none !important;
    display: none !important;
  }

  body .dual-brands-section .dual-brands-head {
    margin: 0 auto 16px !important;
    padding: 0 !important;
    gap: 0 !important;
    min-height: 0 !important;
  }

  body .dual-brands-section .dual-brands-head .section-kicker,
  body .dual-brands-section .dual-brands-head .section-title {
    display: none !important;
  }

  body .dual-brands-section .dual-brands-head .section-copy {
    margin-top: 0 !important;
    max-width: 34ch !important;
  }

  /* 4) Dvě značky: správná kulatá loga viditelně, bez miniatur/rámečků. */
  body .dual-brand-card {
    padding: 26px 18px 24px !important;
    gap: 12px !important;
  }

  body .dual-brand-logo-wrap,
  body .dual-brand-logo-wrap::before,
  body .dual-brand-logo-wrap::after {
    background: transparent !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body .dual-brand-logo-wrap {
    width: 178px !important;
    height: 178px !important;
    max-width: 62vw !important;
    max-height: 62vw !important;
    padding: 0 !important;
    margin: 0 auto 8px !important;
  }

  body .dual-brand-card:first-child .dual-brand-logo-wrap {
    width: 190px !important;
    height: 190px !important;
  }

  body .dual-brand-logo-wrap img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    display: block !important;
    object-fit: contain !important;
    object-position: center !important;
    background: transparent !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    mix-blend-mode: normal !important;
  }

  /* 5) Modré panely: přidat vnitřní vzduch, text nikdy neleze mimo kartu. */
  body .service-hero-panel,
  body .service-hero-panel--compact,
  body .support-panel,
  body .support-panel--pro,
  body .support-hero-panel,
  body .reference-hero-panel,
  body .case-featured-v21,
  body .case-featured-v21.featured,
  body .about-hero-panel,
  body .creative-band,
  body .launch-grid {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: calc(100vw - 22px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 26px 22px !important;
    overflow: hidden !important;
    border-radius: 28px !important;
  }

  body .service-hero-panel h2,
  body .service-hero-panel h3,
  body .service-hero-panel strong,
  body .service-hero-panel--compact h2,
  body .service-hero-panel--compact h3,
  body .service-hero-panel--compact strong,
  body .support-panel h2,
  body .support-panel h3,
  body .reference-hero-panel h2,
  body .reference-hero-panel h3,
  body .case-featured-v21 h2,
  body .case-featured-v21 h3,
  body .about-hero-panel h2,
  body .about-hero-panel h3,
  body .creative-band h2,
  body .launch-grid h2,
  body .launch-grid h3 {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
    text-align: center !important;
    line-height: 1.12 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: auto !important;
  }

  body .service-hero-grid,
  body .support-status-grid,
  body .creative-features,
  body .about-orbit,
  body .contact-business-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body .service-hero-grid > *,
  body .support-status-grid > *,
  body .creative-features > *,
  body .about-orbit > *,
  body .contact-business-grid > * {
    min-width: 0 !important;
    overflow: hidden !important;
    overflow-wrap: break-word !important;
  }

  /* Support desk vizuál zmenšit, ať nedělá obří samostatný blok. */
  body .support-desk-card,
  body .support-desk-visual,
  body [class*="support-desk"] {
    width: min(250px, 72vw) !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 auto 16px !important;
    padding: 24px 18px !important;
    border-radius: 28px !important;
  }

  /* 6) Stav V řešení tyrkysově/modře. */
  body .ticket-status--progress,
  body .status-progress,
  body .is-progress,
  body [class*="status"][class*="progress"],
  body [class*="progress"].pill,
  body .support-ticket-list .is-progress {
    background: linear-gradient(135deg, #14b8ff 0%, #0b63ff 100%) !important;
    color: #ffffff !important;
    border-color: rgba(255,255,255,.22) !important;
  }

  /* 7) Reference / case studies: žádné překryvy statistických bublin a tagů. */
  body .case-preview-window,
  body .case-browser,
  body .case-device {
    display: grid !important;
    gap: 14px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 18px !important;
    overflow: hidden !important;
  }

  body .case-preview-window .window-stats,
  body .window-stats,
  body .case-metrics,
  body .case-tags,
  body .case-featured-v21 .case-tags,
  body .about-stack-tags {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
  }

  body .case-preview-window .window-stats > *,
  body .window-stats > *,
  body .case-metrics > *,
  body .case-tags > *,
  body .case-featured-v21 .case-tags > *,
  body .about-stack-tags > * {
    position: static !important;
    transform: none !important;
    margin: 0 auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* 8) Mapy / iframy: když se nenačtou, nesmí vzniknout obří bílá plocha. */
  body .contact-map-preview,
  body .contact-page-map,
  body .contact-page-map-card,
  body .map-card,
  body [class*="map-preview"],
  body [class*="map-card"] {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  body .contact-map-preview iframe,
  body .contact-page-map iframe,
  body iframe[src*="maps"] {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    height: 190px !important;
    max-height: 190px !important;
    border: 0 !important;
  }

  /* 9) Stránky služeb/podpory/referencí/kontaktu – menší vertikální mezery. */
  body .page-hero,
  body .section:not(.itb214-slider),
  body .section-sm:not(.itb214-slider),
  body .page-section {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  body .section-head,
  body .section-head.compact,
  body .page-hero-copy,
  body .portal-content,
  body .launch-copy,
  body .contact-side--info {
    gap: 9px !important;
    margin-bottom: 14px !important;
  }
}

@media (max-width: 430px) {
  body .itb214-slider + .services-section {
    margin-top: -46px !important;
    padding-top: 0 !important;
  }

  body .portal-preview {
    padding: 14px !important;
    border-radius: 26px !important;
  }

  body .portal-preview .stat,
  body .portal-preview .portal-stat {
    min-height: 68px !important;
    padding: 9px 6px !important;
  }

  body .portal-preview .stat strong,
  body .portal-preview .portal-stat strong,
  body .portal-preview .stat b,
  body .portal-preview .portal-stat b {
    font-size: 22px !important;
  }

  body .portal-preview .ticket-table .row,
  body .portal-preview .compact-table .row {
    grid-template-columns: .54fr 1.25fr .82fr .62fr !important;
    font-size: 10px !important;
  }

  body .dual-brand-logo-wrap {
    width: 164px !important;
    height: 164px !important;
  }

  body .dual-brand-card:first-child .dual-brand-logo-wrap {
    width: 176px !important;
    height: 176px !important;
  }

  body .service-hero-panel,
  body .service-hero-panel--compact,
  body .support-panel,
  body .support-panel--pro,
  body .support-hero-panel,
  body .reference-hero-panel,
  body .case-featured-v21,
  body .case-featured-v21.featured,
  body .about-hero-panel,
  body .creative-band,
  body .launch-grid {
    max-width: calc(100vw - 16px) !important;
    padding: 24px 20px !important;
  }

  body .contact-map-preview iframe,
  body .contact-page-map iframe,
  body iframe[src*="maps"] {
    height: 170px !important;
    max-height: 170px !important;
  }
}


/* ===== IT-BALON.CZ v366: Dvě značky heading typography ===== */
body .dual-brands-section .dual-brands-head {
  display: block !important;
  width: min(100%, 920px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 28px !important;
  text-align: center !important;
}

body .dual-brands-section .dual-brands-head > div {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}

body .dual-brands-section .dual-brands-head .section-kicker {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 14px !important;
  text-align: center !important;
}

body .dual-brands-section .dual-brands-head .section-title {
  max-width: 780px !important;
  margin: 0 auto !important;
  text-align: center !important;
  font-family: inherit !important;
  font-size: clamp(32px, 4.1vw, 56px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.055em !important;
  font-weight: 900 !important;
  color: #0b234a !important;
  text-wrap: balance !important;
}

body .dual-brands-section .dual-brands-head .section-copy {
  max-width: 760px !important;
  margin: 18px auto 0 !important;
  text-align: center !important;
  font-family: inherit !important;
  font-size: clamp(16px, 1.45vw, 19px) !important;
  line-height: 1.72 !important;
  letter-spacing: -0.015em !important;
  font-weight: 500 !important;
  color: #607393 !important;
  text-wrap: pretty !important;
}

@media (max-width: 700px) {
  body .dual-brands-section .dual-brands-head {
    width: min(100%, 360px) !important;
    margin-bottom: 22px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body .dual-brands-section .dual-brands-head .section-kicker {
    margin-bottom: 12px !important;
  }

  body .dual-brands-section .dual-brands-head .section-title {
    max-width: 330px !important;
    font-size: clamp(28px, 7vw, 36px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.05em !important;
  }

  body .dual-brands-section .dual-brands-head .section-copy {
    max-width: 335px !important;
    margin-top: 14px !important;
    font-size: 15.8px !important;
    line-height: 1.68 !important;
    color: #637799 !important;
  }
}


/* ===== IT-BALON.CZ v367: remaining mobile section cleanup =====
   Slider v357 is intentionally untouched. */
@media (max-width: 900px) {
  html,
  body {
    overflow-x: hidden !important;
  }

  body main,
  body .site-shell,
  body .page-main {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  /* Remove decorative empty strips/lines that created blank crossed areas. */
  body .services-section::before,
  body .services-section::after,
  body .portal-section::before,
  body .portal-section::after,
  body .dual-brands-section::before,
  body .dual-brands-section::after,
  body .creative-section::before,
  body .creative-section::after,
  body .faq-section::before,
  body .faq-section::after,
  body .launch-section::before,
  body .launch-section::after,
  body .contact-section::before,
  body .contact-section::after,
  body .support-highlights::before,
  body .support-highlights::after,
  body .support-how::before,
  body .support-how::after,
  body .support-model-section::before,
  body .support-model-section::after,
  body .references-page-section::before,
  body .references-page-section::after,
  body .reference-results::before,
  body .reference-results::after {
    content: none !important;
    display: none !important;
  }

  /* Kicker/badge labels: no long empty tail to the right. */
  body .section-kicker,
  body .section-eyebrow,
  body .badge,
  body .eyebrow,
  body .case-label,
  body .service-label,
  body .support-label,
  body [class*="kicker"],
  body [class*="eyebrow"] {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 44px) !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 14px !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.15 !important;
    letter-spacing: .13em !important;
    overflow: hidden !important;
  }

  body .section-kicker::before,
  body .section-kicker::after,
  body .section-eyebrow::before,
  body .section-eyebrow::after,
  body .badge::before,
  body .badge::after,
  body .eyebrow::before,
  body .eyebrow::after,
  body .case-label::before,
  body .case-label::after,
  body .service-label::before,
  body .service-label::after,
  body .support-label::before,
  body .support-label::after,
  body [class*="kicker"]::before,
  body [class*="kicker"]::after,
  body [class*="eyebrow"]::before,
  body [class*="eyebrow"]::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  /* Homepage services intro directly under slider: visible, compact, centered. */
  body .services-section {
    margin-top: -52px !important;
    padding-top: 18px !important;
    padding-bottom: 30px !important;
    background: linear-gradient(180deg, #edf6ff 0%, #f7fbff 34%, #ffffff 100%) !important;
  }

  body .home-services-head,
  body .section-head.compact.home-services-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 10px !important;
    width: min(100%, 360px) !important;
    margin: 0 auto 20px !important;
    padding: 0 8px !important;
    text-align: center !important;
  }

  body .home-services-head .section-title,
  body .home-services-head .services-title-link {
    display: block !important;
    max-width: 330px !important;
    margin: 0 auto !important;
    color: #0b234a !important;
    font-size: clamp(28px, 7vw, 36px) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.055em !important;
    font-weight: 900 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-wrap: balance !important;
  }

  body .home-services-head .section-copy {
    max-width: 340px !important;
    margin: 8px auto 0 !important;
    text-align: center !important;
    color: #5d7192 !important;
    font-size: 15.6px !important;
    line-height: 1.68 !important;
  }

  /* Portal preview stats: real 2x2 cards, no tiny centered pills in large empty cells. */
  body .portal-preview {
    width: min(100%, 360px) !important;
    max-width: 360px !important;
    padding: 18px !important;
    border-radius: 30px !important;
  }

  body .portal-preview .stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 14px 0 !important;
  }

  body .portal-preview .stats .stat,
  body .portal-preview .stat {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 86px !important;
    margin: 0 !important;
    padding: 13px 8px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 20px !important;
    background: #eef6ff !important;
    box-shadow: inset 0 0 0 1px rgba(11,99,255,.06) !important;
  }

  body .portal-preview .stat strong {
    font-size: 24px !important;
    line-height: 1 !important;
    color: #0969ff !important;
  }

  body .portal-preview .stat small {
    margin-top: 8px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    color: #536985 !important;
  }

  body .portal-preview .pill.blue,
  body .pill.blue,
  body .ticket-status--progress,
  body .status-progress,
  body .is-progress,
  body [class*="progress"].pill {
    background: linear-gradient(135deg, #16c7ff 0%, #0969ff 100%) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.28) !important;
  }

  /* Dvě značky: cleaner top spacing and large correct circular logos. */
  body .dual-brands-section {
    margin-top: 0 !important;
    padding-top: 30px !important;
    padding-bottom: 34px !important;
    background: linear-gradient(180deg, #f4f9ff 0%, #ffffff 46%, #f6fbff 100%) !important;
  }

  body .dual-brands-section .container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body .dual-brands-head {
    display: block !important;
    width: min(100%, 360px) !important;
    margin: 0 auto 20px !important;
    padding: 0 !important;
    text-align: center !important;
  }

  body .dual-brand-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin-top: 18px !important;
  }

  body .dual-brand-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 0 !important;
    padding: 30px 20px 26px !important;
    border-radius: 28px !important;
    text-align: center !important;
    overflow: hidden !important;
  }

  body .dual-brand-logo-wrap {
    width: 150px !important;
    height: 150px !important;
    min-width: 150px !important;
    min-height: 150px !important;
    margin: 0 auto 18px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body .dual-brand-logo-wrap img {
    display: block !important;
    width: 150px !important;
    height: 150px !important;
    max-width: 150px !important;
    max-height: 150px !important;
    object-fit: contain !important;
    border-radius: 50% !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body .dual-brand-copy h3 {
    margin: 0 auto 10px !important;
    font-size: clamp(28px, 7vw, 34px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;
    color: #0b234a !important;
    text-align: center !important;
  }

  body .dual-brand-copy p {
    max-width: 31ch !important;
    margin: 0 auto 16px !important;
    text-align: center !important;
    font-size: 15.8px !important;
    line-height: 1.58 !important;
    color: #637799 !important;
  }

  /* Dark blue visual panels: no text overflow/cutting on mobile. */
  body .service-hero-panel--compact,
  body .service-visual,
  body .service-visual--support,
  body .service-side-visual,
  body .support-desk-card,
  body .support-desk-visual,
  body .support-panel--pro,
  body .support-hero-panel,
  body .reference-hero-panel,
  body .case-featured-v21,
  body .case-featured-v21.featured,
  body .about-hero-panel,
  body .about-stack-card,
  body .creative-band,
  body .launch-grid {
    box-sizing: border-box !important;
    max-width: calc(100vw - 28px) !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body .service-visual,
  body .service-visual--support,
  body .service-side-visual,
  body .support-desk-card,
  body .support-desk-visual {
    width: min(250px, 72vw) !important;
    aspect-ratio: 1 / 1 !important;
    margin: 10px auto 18px !important;
    padding: 24px 18px !important;
    border-radius: 30px !important;
  }

  body .service-visual h2,
  body .service-visual h3,
  body .service-visual--support h2,
  body .service-visual--support h3,
  body .support-desk-card h2,
  body .support-desk-card h3,
  body .support-desk-visual h2,
  body .support-desk-visual h3,
  body .case-featured-v21 h2,
  body .case-featured-v21 h3,
  body .about-stack-card h2,
  body .about-stack-card h3 {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    font-size: clamp(22px, 6vw, 30px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.045em !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body .service-visual p,
  body .service-visual small,
  body .service-visual--support p,
  body .service-visual--support small,
  body .support-desk-card p,
  body .support-desk-card small,
  body .support-desk-visual p,
  body .support-desk-visual small,
  body .case-featured-v21 p,
  body .case-featured-v21 small,
  body .about-stack-card p,
  body .about-stack-card small {
    max-width: 100% !important;
    text-align: center !important;
    overflow-wrap: break-word !important;
    line-height: 1.45 !important;
  }

  /* Reference/case study bubbles and tags: fill columns, no centered overlap. */
  body .window-stats,
  body .case-preview-window .window-stats,
  body .case-tags,
  body .case-featured-v21 .case-tags,
  body .case-metrics,
  body .reference-mini-stats,
  body .about-stack-tags,
  body .support-ticket-flow,
  body .support-ticket-list {
    position: static !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px 0 0 !important;
    transform: none !important;
  }

  body .window-stats > *,
  body .case-preview-window .window-stats > *,
  body .case-tags > *,
  body .case-featured-v21 .case-tags > *,
  body .case-metrics > *,
  body .reference-mini-stats > *,
  body .about-stack-tags > *,
  body .support-ticket-flow > *,
  body .support-ticket-list > * {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 10px 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 16px !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
  }

  body .window-stats > *:last-child:nth-child(odd),
  body .case-tags > *:last-child:nth-child(odd),
  body .case-metrics > *:last-child:nth-child(odd),
  body .about-stack-tags > *:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
    width: min(100%, 180px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body .case-preview-window,
  body .case-browser,
  body .case-device {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 16px !important;
    display: grid !important;
    gap: 12px !important;
    overflow: hidden !important;
  }

  body .case-browser [class*="pin"],
  body .case-browser [class*="pay"],
  body .case-browser [class*="lock"],
  body .case-device [class*="pin"],
  body .case-device [class*="pay"],
  body .case-device [class*="lock"],
  body .case-preview-window [class*="badge"],
  body .case-preview-window [class*="pill"] {
    position: static !important;
    transform: none !important;
    margin: 5px auto !important;
  }

  /* Contact/maps: iframe block should not create a huge empty white page. */
  body .contact-map-preview,
  body .map-card,
  body .map-preview,
  body [class*="map-preview"],
  body [class*="map-card"] {
    min-height: 230px !important;
    height: 230px !important;
    max-height: 260px !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg, #f5f9ff 0%, #eaf4ff 100%) !important;
  }

  body .contact-map-preview iframe,
  body iframe[src*="maps"],
  body iframe[src*="google"] {
    display: block !important;
    width: 100% !important;
    min-height: 230px !important;
    height: 230px !important;
    max-height: 230px !important;
    border: 0 !important;
  }

  /* General mobile section rhythm. */
  body .portal-section,
  body .creative-section,
  body .faq-section,
  body .launch-section,
  body .contact-section,
  body .references-page-section,
  body .reference-results,
  body .support-highlights,
  body .support-how,
  body .support-model-section {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }

  body .section-head,
  body .section-head.compact,
  body .portal-content,
  body .launch-copy {
    max-width: 360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
}

@media (max-width: 430px) {
  body .services-section {
    margin-top: -48px !important;
    padding-top: 16px !important;
  }

  body .portal-preview,
  body .dual-brands-head,
  body .home-services-head,
  body .section-head,
  body .section-head.compact {
    width: min(100%, 348px) !important;
  }

  body .dual-brand-logo-wrap,
  body .dual-brand-logo-wrap img {
    width: 142px !important;
    height: 142px !important;
    min-width: 142px !important;
    min-height: 142px !important;
  }

  body .portal-preview .stat {
    min-height: 82px !important;
  }
}


/* ===== IT-BALON.CZ v369: další kolo oprav podle desktop screenshotů ===== */
:root{
  --itb-v369-soft-bg:#edf6ff;
}

/* Obecná pojistka proti nechtěným prázdným dekorativním pásům a přetékání */
html, body { max-width:100%; overflow-x:clip; }
.section-kicker::after,
.badge::after,
.visual-kicker::after,
.eyebrow::after{
  max-width:0 !important;
}

/* HOMEPAGE: zmenšit velké prázdné plochy pod sliderem a před značkami */
@media (min-width:901px){
  .services-section{
    margin-top:-96px !important;
    padding-top:26px !important;
    padding-bottom:48px !important;
  }
  .services-section .container{
    display:grid !important;
    gap:26px !important;
  }
  .home-services-head{
    max-width:1040px !important;
    margin:0 auto 12px !important;
    text-align:center !important;
    justify-items:center !important;
    gap:14px !important;
  }
  .home-services-head > div,
  .home-services-head .section-title,
  .home-services-head .section-copy{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .home-services-head .section-copy{
    max-width:880px !important;
    font-size:1.02rem !important;
    line-height:1.7 !important;
  }
  .home-services-grid{
    margin-top:0 !important;
  }
  .portal-section{
    padding-bottom:18px !important;
  }
  .dual-brands-section{
    margin-top:-82px !important;
    padding-top:28px !important;
    padding-bottom:56px !important;
  }
  .dual-brands-head{
    max-width:900px !important;
    margin:0 auto 28px !important;
    display:grid !important;
    justify-items:center !important;
    text-align:center !important;
    gap:14px !important;
  }
  .dual-brands-head > div,
  .dual-brands-head .section-title,
  .dual-brands-head .section-copy{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .dual-brands-head .section-title{
    max-width:840px !important;
    font-weight:850 !important;
    letter-spacing:-.035em !important;
  }
  .dual-brands-head .section-copy{
    max-width:820px !important;
    font-weight:650 !important;
    line-height:1.72 !important;
    color:#5b708f !important;
  }
}

@media (max-width:900px){
  .services-section{
    padding-top:10px !important;
    padding-bottom:28px !important;
  }
  .home-services-head,
  .dual-brands-head{
    display:grid !important;
    justify-items:center !important;
    text-align:center !important;
    gap:12px !important;
    margin-bottom:20px !important;
  }
  .home-services-head > div,
  .home-services-head .section-title,
  .home-services-head .section-copy,
  .dual-brands-head > div,
  .dual-brands-head .section-title,
  .dual-brands-head .section-copy{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .dual-brands-section{
    padding-top:12px !important;
    padding-bottom:32px !important;
  }
}

/* Dvě značky – čistá loga bez rámečku a lepší proporce */
.dual-brand-grid{
  align-items:stretch !important;
}
.dual-brand-card{
  align-items:center !important;
  gap:24px !important;
}
.dual-brand-logo-wrap{
  flex:0 0 auto !important;
  width:150px !important;
  height:150px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  overflow:visible !important;
}
.dual-brand-logo-wrap img{
  width:150px !important;
  height:150px !important;
  object-fit:contain !important;
  display:block !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.dual-brand-copy h3{
  font-weight:900 !important;
  letter-spacing:-.035em !important;
}
.dual-brand-copy p{
  line-height:1.62 !important;
}
@media (max-width:700px){
  .dual-brand-card{
    display:grid !important;
    justify-items:center !important;
    text-align:center !important;
    gap:18px !important;
  }
  .dual-brand-logo-wrap,
  .dual-brand-logo-wrap img{
    width:132px !important;
    height:132px !important;
  }
}

/* Služby: pravý modrý hero panel – ikony nesmí utíkat mimo box */
.services-hero-v290 .service-hero-panel--compact{
  box-sizing:border-box !important;
  overflow:hidden !important;
}
.services-hero-v290 .service-hero-grid{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
}
.services-hero-v290 .service-hero-grid span{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:104px !important;
  border-radius:22px !important;
  overflow:hidden !important;
}
.services-hero-v290 .service-hero-grid span svg{
  width:42px !important;
  height:42px !important;
  max-width:46px !important;
  max-height:46px !important;
}
.services-hero-v290 .service-hero-panel--compact strong{
  white-space:normal !important;
  overflow-wrap:normal !important;
  max-width:100% !important;
}
@media (min-width:981px){
  .services-hero-v290 .service-hero-panel--compact{
    max-width:610px !important;
    min-height:392px !important;
    padding:34px 36px 32px !important;
  }
}
@media (max-width:640px){
  .services-hero-v290 .service-hero-grid{gap:12px !important;}
  .services-hero-v290 .service-hero-grid span{min-height:84px !important;}
}

/* Podpora: možnosti spolupráce – 5 karet v jedné řadě na desktopu */
.support-model-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}
.support-model-card{
  box-sizing:border-box !important;
  min-height:236px !important;
  padding:24px 22px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
}
.support-model-card--creative{
  border-color:rgba(9,105,255,.18) !important;
  background:
    radial-gradient(circle at 84% 18%, rgba(11,99,255,.10), transparent 34%),
    linear-gradient(135deg,#ffffff 0%,#f7fbff 100%) !important;
}
@media (max-width:1320px){.support-model-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}}
@media (max-width:900px){.support-model-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}
@media (max-width:640px){.support-model-grid{grid-template-columns:1fr !important;}.support-model-card{min-height:auto !important;}}

/* Reference: pravý modrý blok – obsah zarovnat a nerozbíjet stats */
.references-hero-v290 .reference-hero-panel{
  box-sizing:border-box !important;
  position:relative !important;
  overflow:hidden !important;
  align-content:start !important;
}
.references-hero-v290 .reference-hero-panel .visual-kicker{
  width:auto !important;
  max-width:100% !important;
  justify-self:start !important;
  padding-inline:18px !important;
}
.references-hero-v290 .reference-hero-panel strong{
  max-width:13ch !important;
  margin-top:4px !important;
}
.references-hero-v290 .reference-hero-panel p{
  max-width:38ch !important;
}
.reference-mini-stats{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
  margin-top:10px !important;
  width:100% !important;
}
.reference-mini-stats div{
  min-width:0 !important;
  min-height:76px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
.reference-mini-stats b,
.reference-mini-stats small{
  overflow-wrap:normal !important;
  word-break:normal !important;
}
@media (min-width:981px){
  .references-hero-v290 .page-hero-grid{
    grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr) !important;
    gap:40px !important;
  }
  .references-hero-v290 .reference-hero-panel{
    max-width:570px !important;
    min-height:318px !important;
    padding:118px 28px 26px !important;
  }
}
@media (max-width:640px){
  .reference-mini-stats{grid-template-columns:1fr !important;}
  .references-hero-v290 .reference-hero-panel strong{max-width:none !important;}
}

/* Kontakt / mapa: odstranit zbytečnou vysokou prázdnou plochu před patičkou */
.contact-section,
.contact-page-main{
  padding-bottom:28px !important;
  margin-bottom:0 !important;
}
.contact-form-wrap,
.contact-page-grid{
  margin-bottom:0 !important;
}
.contact-map-preview,
.contact-page-map{
  margin-bottom:0 !important;
}
.contact-map-preview iframe{
  min-height:300px !important;
}
.contact-page-map iframe{
  min-height:360px !important;
}
@media (max-width:700px){
  .contact-map-preview iframe,
  .contact-page-map iframe{
    min-height:260px !important;
  }
}


/* ===== IT-BALON.CZ v370: další dorovnání sekcí po v369 ===== */
/* 1) Homepage: odstranit zbytečné prázdné pásy pod sliderem / portálem */
@media (min-width:901px){
  body .itb214-slider + .services-section,
  body .services-section{
    margin-top:-118px !important;
    padding-top:18px !important;
    padding-bottom:36px !important;
    background:linear-gradient(180deg,#edf6ff 0%,#f7fbff 48%,#ffffff 100%) !important;
  }
  body .services-section::before,
  body .services-section::after{
    content:none !important;
    display:none !important;
  }
  body .services-section .container{
    gap:20px !important;
  }
  body .home-services-head{
    margin-bottom:8px !important;
  }
  body .home-services-head .section-copy{
    transform:none !important;
    margin-top:0 !important;
  }
  body .home-services-grid{
    margin-top:0 !important;
    align-items:stretch !important;
  }
  body .portal-section{
    padding-bottom:0 !important;
  }
  body .portal-section + .dual-brands-section,
  body .dual-brands-section{
    margin-top:-112px !important;
    padding-top:24px !important;
    padding-bottom:44px !important;
  }
  body .dual-brands-head{
    margin-bottom:24px !important;
  }
}

@media (max-width:900px){
  body .itb214-slider + .services-section,
  body .services-section{
    margin-top:-54px !important;
    padding-top:14px !important;
    padding-bottom:28px !important;
  }
  body .portal-section + .dual-brands-section,
  body .dual-brands-section{
    margin-top:-34px !important;
    padding-top:20px !important;
  }
}

/* 2) Služby: pravý modrý panel stabilně uvnitř rámečku */
body .services-hero-v290 .service-hero-panel,
body .services-hero-v290 .service-hero-panel--compact{
  overflow:hidden !important;
  box-sizing:border-box !important;
}
@media (min-width:981px){
  body .services-hero-v290 .service-hero-panel--compact{
    width:min(100%,590px) !important;
    min-height:370px !important;
    padding:30px 32px 30px !important;
    gap:18px !important;
  }
  body .services-hero-v290 .service-hero-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  body .services-hero-v290 .service-hero-grid span{
    min-height:94px !important;
  }
  body .services-hero-v290 .service-hero-panel--compact strong{
    font-size:clamp(1.05rem,1.42vw,1.36rem) !important;
    line-height:1.2 !important;
  }
}

/* 3) Podpora: pět karet hezky na jednu lajnu + kreativní karta jako normální karta */
@media (min-width:1180px){
  body .support-model-grid{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:18px !important;
  }
  body .support-model-card{
    min-height:246px !important;
    padding:24px 22px !important;
  }
}
body .support-model-card--creative h3,
body .support-model-card--creative p{
  color:#12305f !important;
}

/* 4) Reference: pravý modrý panel čitelný, bez tlačení textu/stats mimo blok */
@media (min-width:981px){
  body .references-hero-v290 .reference-hero-panel{
    width:min(100%,560px) !important;
    min-height:330px !important;
    padding:112px 28px 26px !important;
    justify-self:end !important;
  }
  body .references-hero-v290 .reference-hero-panel .visual-kicker{
    margin:0 !important;
  }
  body .references-hero-v290 .reference-hero-panel strong{
    max-width:16ch !important;
    font-size:clamp(1.45rem,1.8vw,1.9rem) !important;
    line-height:1.08 !important;
  }
  body .references-hero-v290 .reference-hero-panel p{
    max-width:42ch !important;
    line-height:1.62 !important;
  }
  body .reference-mini-stats{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  body .reference-mini-stats div{
    min-height:78px !important;
    padding:12px 14px !important;
  }
}

/* 5) Kontakt: mapa / Google iframe nesmí vyrábět obří prázdný blok */
body .contact-page-map-card{
  align-self:start !important;
  display:block !important;
}
body .contact-page-map{
  display:block !important;
  flex:none !important;
  min-height:0 !important;
  height:auto !important;
}
body .contact-page-map iframe,
body .contact-map-preview iframe,
body iframe[src*="google.com/maps"]{
  min-height:300px !important;
  height:300px !important;
  max-height:300px !important;
}
@media (max-width:700px){
  body .contact-page-map iframe,
  body .contact-map-preview iframe,
  body iframe[src*="google.com/maps"]{
    min-height:230px !important;
    height:230px !important;
    max-height:230px !important;
  }
}

/* 6) Jemné sjednocení titulků / štítků bez dlouhého prázdného ocásku */
body .section-kicker,
body .badge,
body .visual-kicker,
body .eyebrow{
  width:max-content !important;
  max-width:100% !important;
  padding-right:16px !important;
}
body .section-kicker::after,
body .badge::after,
body .visual-kicker::after,
body .eyebrow::after{
  content:none !important;
  display:none !important;
}


/* ===== IT-BALON.CZ v371: barevné odlišení služeb + sticky mobilní menu ===== */
/* Mobilní menu / hlavička drží nahoře i po scrollu */
.site-shell,
body .site-shell,
main#main-content{
  overflow:visible !important;
}
.site-header,
header.site-header,
.site-header[data-header]{
  position:sticky !important;
  top:0 !important;
  z-index:2147483000 !important;
  transform:translateZ(0) !important;
  will-change:transform !important;
}
@media (max-width:900px){
  html,
  body{
    overflow-x:hidden !important;
  }
  body{
    padding-top:78px !important;
  }
  .site-header,
  header.site-header,
  .site-header[data-header]{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:2147483000 !important;
    background:rgba(255,255,255,.97) !important;
    border-bottom:1px solid rgba(9,105,255,.16) !important;
    box-shadow:0 10px 30px rgba(16,47,94,.08) !important;
    backdrop-filter:blur(18px) !important;
    -webkit-backdrop-filter:blur(18px) !important;
  }
  .site-header .header-inner,
  header.site-header .header-inner{
    min-height:78px !important;
    height:78px !important;
  }
  .main-nav[data-nav],
  .site-header .main-nav{
    position:fixed !important;
    top:86px !important;
    left:14px !important;
    right:14px !important;
    z-index:2147482999 !important;
    max-height:calc(100dvh - 104px) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
  }
}

/* Služby – každá sekce má jasně odlišenou barvu. */
body .service-detail-section.service-theme--support{
  background:
    radial-gradient(circle at 12% 14%, rgba(11,99,255,.13), transparent 27%),
    linear-gradient(135deg,#f4f8ff 0%,#ffffff 54%,#eaf3ff 100%) !important;
}
body .service-detail-section.service-theme--network{
  background:
    radial-gradient(circle at 88% 16%, rgba(249,115,22,.16), transparent 28%),
    radial-gradient(circle at 12% 82%, rgba(251,146,60,.12), transparent 24%),
    linear-gradient(135deg,#fff7ed 0%,#ffffff 54%,#ffedd5 100%) !important;
}
body .service-detail-section.service-theme--web{
  background:
    radial-gradient(circle at 88% 16%, rgba(20,184,166,.15), transparent 26%),
    radial-gradient(circle at 12% 78%, rgba(6,182,212,.11), transparent 24%),
    linear-gradient(135deg,#f0fdfa 0%,#ffffff 54%,#ecfeff 100%) !important;
}
body .service-detail-section.service-theme--hardware{
  background:
    radial-gradient(circle at 88% 16%, rgba(124,58,237,.14), transparent 26%),
    radial-gradient(circle at 12% 78%, rgba(99,102,241,.11), transparent 24%),
    linear-gradient(135deg,#f5f3ff 0%,#ffffff 54%,#eef2ff 100%) !important;
}
body .service-detail-section.service-theme--video{
  background:
    radial-gradient(circle at 88% 16%, rgba(236,72,153,.14), transparent 26%),
    radial-gradient(circle at 12% 78%, rgba(244,63,94,.10), transparent 24%),
    linear-gradient(135deg,#fff1f2 0%,#ffffff 54%,#fdf2f8 100%) !important;
}

/* Barevné vizuální boxy vpravo – hlavně Server & network do oranžové. */
body .service-visual.service-visual--support{
  background:linear-gradient(145deg,#0b2b68 0%,#0b63ff 58%,#52a8ff 100%) !important;
  color:#fff !important;
}
body .service-visual.service-visual--servers{
  background:linear-gradient(145deg,#7c2d12 0%,#f97316 55%,#ffb454 100%) !important;
  color:#fff !important;
  box-shadow:0 28px 54px rgba(249,115,22,.24) !important;
}
body .service-visual.service-visual--web{
  background:linear-gradient(145deg,#064e3b 0%,#0f766e 54%,#22d3ee 100%) !important;
  color:#fff !important;
  box-shadow:0 28px 54px rgba(20,184,166,.22) !important;
}
body .service-visual.service-visual--hardware{
  background:linear-gradient(145deg,#312e81 0%,#6d28d9 55%,#818cf8 100%) !important;
  color:#fff !important;
  box-shadow:0 28px 54px rgba(109,40,217,.22) !important;
}
body .service-visual.service-visual--video{
  background:linear-gradient(145deg,#831843 0%,#e11d48 52%,#fb7185 100%) !important;
  color:#fff !important;
  box-shadow:0 28px 54px rgba(225,29,72,.22) !important;
}
body .service-visual.service-visual--support *,
body .service-visual.service-visual--servers *,
body .service-visual.service-visual--web *,
body .service-visual.service-visual--hardware *,
body .service-visual.service-visual--video *{
  color:#fff !important;
  stroke:#fff !important;
}
body .service-visual.service-visual--servers b,
body .service-visual.service-visual--servers span{
  color:#fff !important;
}

/* Jemné sladění čísel a pillů podle barvy sekce */
body .service-theme--network .service-number,
body .service-theme--network .service-side-points article::before{
  background:#f97316 !important;
  color:#fff !important;
  box-shadow:0 16px 30px rgba(249,115,22,.20) !important;
}
body .service-theme--network .service-pill-row span{
  background:rgba(249,115,22,.10) !important;
  border-color:rgba(249,115,22,.20) !important;
  color:#9a3412 !important;
}
body .service-theme--web .service-number,
body .service-theme--web .service-side-points article::before{
  background:#0f766e !important;
  color:#fff !important;
  box-shadow:0 16px 30px rgba(15,118,110,.18) !important;
}
body .service-theme--web .service-pill-row span{
  background:rgba(20,184,166,.10) !important;
  border-color:rgba(20,184,166,.20) !important;
  color:#115e59 !important;
}
body .service-theme--hardware .service-number,
body .service-theme--hardware .service-side-points article::before{
  background:#6d28d9 !important;
  color:#fff !important;
  box-shadow:0 16px 30px rgba(109,40,217,.18) !important;
}
body .service-theme--hardware .service-pill-row span{
  background:rgba(109,40,217,.10) !important;
  border-color:rgba(109,40,217,.20) !important;
  color:#4c1d95 !important;
}
body .service-theme--video .service-number,
body .service-theme--video .service-side-points article::before{
  background:#e11d48 !important;
  color:#fff !important;
  box-shadow:0 16px 30px rgba(225,29,72,.18) !important;
}
body .service-theme--video .service-pill-row span{
  background:rgba(225,29,72,.10) !important;
  border-color:rgba(225,29,72,.20) !important;
  color:#9f1239 !important;
}


/* ===== IT-BALON.CZ v372: homepage desktop cleanup (portal/brands/text spacing) ===== */
@media (min-width: 901px) {
  /* 1) Text pod sliderem na desktopu malinko výš, bez zbytečné mezery. */
  body .itb214-slider + .services-section {
    margin-top: -12px !important;
    padding-top: 26px !important;
  }

  body .itb214-slider + .services-section .container {
    padding-top: 0 !important;
  }

  body .itb214-slider + .services-section .home-services-head,
  body .itb214-slider + .services-section .section-head.compact {
    margin-top: 0 !important;
    margin-bottom: 22px !important;
    gap: 12px !important;
  }

  body .itb214-slider + .services-section .home-services-head .section-copy,
  body .itb214-slider + .services-section .section-copy {
    margin-top: -6px !important;
  }

  /* 2) Podpora / portál – zrušit překrývající vrstvu a vytáhnout obsah nad dekorace. */
  body .portal-section,
  body #portal-section {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    padding-top: 42px !important;
    padding-bottom: 36px !important;
    background: linear-gradient(180deg, #eef6ff 0%, #f5f9ff 58%, #f8fbff 100%) !important;
  }

  body .portal-section::before,
  body .portal-section::after,
  body #portal-section::before,
  body #portal-section::after {
    pointer-events: none !important;
    z-index: 0 !important;
    opacity: 1 !important;
  }

  /* Kritická oprava: žádná bledá vrstva přes spodní část sekce. */
  body .portal-section::after,
  body #portal-section::after {
    content: none !important;
    display: none !important;
    background: none !important;
  }

  body .portal-section > .container,
  body #portal-section > .container,
  body .portal-grid,
  body .portal-preview,
  body .portal-content,
  body .portal-content > *,
  body .portal-actions,
  body .portal-actions .btn {
    position: relative !important;
    z-index: 2 !important;
  }

  body .portal-actions {
    margin-top: 14px !important;
  }

  /* 3) Sekce Dvě značky – čisté navázání bez přikrytí a s jistotou nad pozadím. */
  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section,
  body .dual-brands-section {
    position: relative !important;
    isolation: isolate !important;
    margin-top: 0 !important;
    padding-top: 12px !important;
    padding-bottom: 32px !important;
    background: linear-gradient(180deg, #f8fbff 0%, #fbfdff 40%, #ffffff 100%) !important;
  }

  body .portal-section + .dual-brands-section::before,
  body .portal-section + .dual-brands-section::after,
  body #portal-section + .dual-brands-section::before,
  body #portal-section + .dual-brands-section::after,
  body .dual-brands-section::before,
  body .dual-brands-section::after {
    pointer-events: none !important;
    z-index: 0 !important;
    content: none !important;
    display: none !important;
    background: none !important;
  }

  body .dual-brands-section > .container,
  body .dual-brands-head,
  body .dual-brands-head > *,
  body .dual-brand-grid,
  body .dual-brand-card,
  body .dual-brand-card > * {
    position: relative !important;
    z-index: 2 !important;
  }

  body .dual-brands-head {
    margin: 0 auto 22px !important;
  }
}


/* ===== IT-BALON.CZ v373: další nedodělky / pevné vrstvy + sticky menu ===== */
/* Header musí držet i na mobilu a nesmí ho rozbít overflow rodičů. */
html, body, .site-shell {
  overflow-x: clip !important;
}
.site-shell,
body > .site-shell,
main#main-content {
  overflow-y: visible !important;
}
body .site-header,
body header.site-header,
body .site-header[data-header] {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483000 !important;
  transform: translateZ(0) !important;
  will-change: transform !important;
  background: rgba(255,255,255,.965) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}
@media (max-width: 900px) {
  html { scroll-padding-top: 82px !important; }
  body .site-header,
  body header.site-header,
  body .site-header[data-header] {
    position: sticky !important;
    top: 0 !important;
    z-index: 2147483000 !important;
    border-bottom: 1px solid rgba(11,99,255,.16) !important;
    box-shadow: 0 10px 26px rgba(9,37,86,.08) !important;
  }
  body .site-header .header-inner,
  body header.site-header .header-inner {
    min-height: 78px !important;
  }
  body .main-nav[data-nav],
  body .main-nav {
    z-index: 2147482999 !important;
  }
}

/* Homepage desktop: portálová sekce nesmí mít přes tlačítka žádný mléčný overlay. */
@media (min-width: 901px) {
  body .portal-section,
  body #portal-section {
    overflow: visible !important;
    padding-top: 36px !important;
    padding-bottom: 30px !important;
    background: linear-gradient(180deg, #edf6ff 0%, #f7fbff 72%, #ffffff 100%) !important;
  }
  body .portal-section::before,
  body .portal-section::after,
  body #portal-section::before,
  body #portal-section::after,
  body .portal-grid::before,
  body .portal-grid::after,
  body .portal-content::before,
  body .portal-content::after,
  body .portal-preview::before,
  body .portal-preview::after {
    pointer-events: none !important;
  }
  body .portal-section::after,
  body #portal-section::after,
  body .portal-grid::after,
  body .portal-content::after {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
  body .portal-section > .container,
  body #portal-section > .container,
  body .portal-grid {
    position: relative !important;
    z-index: 10 !important;
  }
  body .portal-preview,
  body .portal-content,
  body .portal-content .blue-list,
  body .portal-content .blue-list li,
  body .portal-actions,
  body .portal-actions .btn {
    position: relative !important;
    z-index: 20 !important;
    opacity: 1 !important;
    filter: none !important;
  }
  body .portal-actions .btn {
    pointer-events: auto !important;
    visibility: visible !important;
  }

  /* Dvě značky navazuje blíž a bez schované vrstvy. */
  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section,
  body .dual-brands-section {
    overflow: visible !important;
    padding-top: 6px !important;
    padding-bottom: 28px !important;
    margin-top: 0 !important;
    background: linear-gradient(180deg, #ffffff 0%, #f9fcff 100%) !important;
  }
  body .dual-brands-section::before,
  body .dual-brands-section::after,
  body .dual-brands-head::before,
  body .dual-brands-head::after {
    content: none !important;
    display: none !important;
  }
  body .dual-brands-head {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
  }

  /* První text pod sliderem ještě o chlup výš na desktopu. */
  body .itb214-slider + .services-section {
    margin-top: -20px !important;
    padding-top: 18px !important;
  }
  body .itb214-slider + .services-section .home-services-head .section-copy,
  body .itb214-slider + .services-section .section-copy {
    margin-top: -12px !important;
  }
}

/* Služby: ještě jasnější rozlišení barev jednotlivých vizuálních bloků. */
body .service-theme--support .service-visual,
body .service-visual--support {
  background: linear-gradient(145deg, #0d2e64 0%, #1557c5 70%, #1d77ff 100%) !important;
}
body .service-theme--network .service-visual,
body .service-visual--network,
body .service-theme--servers .service-visual,
body .service-visual--server {
  background: linear-gradient(145deg, #7c2d12 0%, #f97316 58%, #fbbf24 100%) !important;
}
body .service-theme--web .service-visual,
body .service-visual--web {
  background: linear-gradient(145deg, #064e3b 0%, #0f766e 56%, #2dd4bf 100%) !important;
}
body .service-theme--hardware .service-visual,
body .service-visual--hardware {
  background: linear-gradient(145deg, #312e81 0%, #6d28d9 58%, #a78bfa 100%) !important;
}
body .service-theme--video .service-visual,
body .service-visual--video {
  background: linear-gradient(145deg, #881337 0%, #e11d48 58%, #fb7185 100%) !important;
}


/* ===== IT-BALON.CZ v374: desktop spacing polish under slider + above dve znacky ===== */
@media (min-width: 901px) {
  /* Text pod sliderem trochu výš a menší mezera k dlaždicím služeb. */
  body .itb214-slider + .services-section,
  body .services-section {
    margin-top: -34px !important;
    padding-top: 8px !important;
    padding-bottom: 24px !important;
  }
  body .itb214-slider + .services-section .container,
  body .services-section .container {
    gap: 12px !important;
  }
  body .home-services-head,
  body .section-head.compact.home-services-head {
    margin: 0 auto 12px !important;
  }
  body .itb214-slider + .services-section .home-services-head .section-copy,
  body .itb214-slider + .services-section .section-copy,
  body .services-section .home-services-head .section-copy {
    margin-top: -20px !important;
  }

  /* Portál a Dvě značky navázat blíž na sebe, bez velkého hluchého místa. */
  body .portal-section,
  body #portal-section {
    padding-bottom: 8px !important;
  }
  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section,
  body .dual-brands-section {
    margin-top: -22px !important;
    padding-top: 0 !important;
    padding-bottom: 20px !important;
  }
  body .dual-brands-head {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
  }
  body .dual-brand-grid {
    margin-top: 10px !important;
  }
}


/* ===== IT-BALON.CZ v375: další dotažení nedodělků / desktop + mobile rhythm ===== */
@media (min-width: 901px) {
  /* Ještě kompaktnější navázání slider -> první text -> karty služeb. */
  body .itb214-slider + .services-section,
  body .services-section {
    margin-top: -58px !important;
    padding-top: 0 !important;
    padding-bottom: 18px !important;
  }
  body .itb214-slider + .services-section .container,
  body .services-section .container {
    gap: 8px !important;
  }
  body .home-services-head,
  body .section-head.compact.home-services-head {
    margin: 0 auto 6px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  body .itb214-slider + .services-section .home-services-head .section-copy,
  body .itb214-slider + .services-section .section-copy,
  body .services-section .home-services-head .section-copy {
    margin-top: -28px !important;
    margin-bottom: 4px !important;
  }
  body .home-services-grid,
  body .cards-grid.home-services-grid {
    margin-top: 2px !important;
  }

  /* Portál -> Dvě značky: menší prázdný pás, ale bez překrytí obsahu. */
  body .portal-section,
  body #portal-section {
    padding-bottom: 0 !important;
  }
  body .portal-actions {
    margin-bottom: 0 !important;
  }
  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section,
  body .dual-brands-section {
    margin-top: -44px !important;
    padding-top: 0 !important;
    padding-bottom: 18px !important;
  }
  body .dual-brands-head {
    margin: 0 auto 10px !important;
    transform: translateY(-2px) !important;
  }
  body .dual-brand-grid {
    margin-top: 8px !important;
  }

  /* Služby na homepage – jemné barevné rozlišení horních linek podle typu. */
  body .home-services-grid .service-card:nth-child(1)::before { background: #0b63ff !important; }
  body .home-services-grid .service-card:nth-child(2)::before { background: #f97316 !important; }
  body .home-services-grid .service-card:nth-child(3)::before { background: #14b8a6 !important; }
  body .home-services-grid .service-card:nth-child(4)::before { background: #7c3aed !important; }
  body .home-services-grid .service-card:nth-child(5)::before { background: #e11d48 !important; }
}

@media (max-width: 900px) {
  /* Pojistka sticky headeru i při různých parent overflow nastaveních. */
  html,
  body,
  body .site-shell,
  body main {
    overflow-x: hidden !important;
  }
  body .site-shell,
  body main {
    overflow-y: visible !important;
  }
  body .site-header,
  body header.site-header,
  body .site-shell > .site-header,
  body header[data-header] {
    position: sticky !important;
    top: 0 !important;
    z-index: 2147483000 !important;
  }
  body .main-nav,
  body .main-nav[data-nav] {
    z-index: 2147482999 !important;
  }

  /* Mezi portálem a značkami ještě kompaktnější mobilní navázání. */
  body .portal-section {
    padding-bottom: 10px !important;
  }
  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section,
  body .dual-brands-section {
    margin-top: -18px !important;
    padding-top: 0 !important;
  }
}


/* ===== IT-BALON.CZ v376: spacing fix + podpora pill + kontakt hero background + mobile pass ===== */
@media (min-width: 901px) {
  /* Homepage / portál -> dvě značky: ještě menší mezera bez překrytí. */
  body .portal-section,
  body #portal-section {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }
  body .portal-grid,
  body .portal-content,
  body .portal-preview,
  body .portal-copy,
  body .portal-actions {
    margin-bottom: 0 !important;
  }
  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section,
  body .dual-brands-section {
    margin-top: -76px !important;
    padding-top: 0 !important;
    padding-bottom: 14px !important;
  }
  body .dual-brands-section > .container {
    padding-top: 0 !important;
  }
  body .dual-brands-head {
    margin: 0 auto 6px !important;
    transform: translateY(-8px) !important;
  }
  body .dual-brand-grid {
    margin-top: 2px !important;
  }
}

/* Podpora – štítek "V řešení" v modro-tyrkysové místo oranžové. */
body .support-pill--progress,
body .support-ticket-list .support-pill--progress,
body .support-ticket-list b.support-pill--progress {
  background: linear-gradient(135deg, #14c8ff 0%, #0b63ff 100%) !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,.22) !important;
  box-shadow: 0 10px 20px rgba(11,99,255,.18) !important;
}

/* Kontakt – abstraktní pozadí do horní sekce. */
body .contact-hero-v290 {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 10% 18%, rgba(73, 170, 255, .16) 0%, rgba(73,170,255,0) 25%),
    radial-gradient(circle at 84% 18%, rgba(120, 228, 255, .18) 0%, rgba(120,228,255,0) 28%),
    radial-gradient(circle at 76% 82%, rgba(11, 99, 255, .14) 0%, rgba(11,99,255,0) 28%),
    linear-gradient(115deg, #f7fbff 0%, #ffffff 48%, #eef6ff 100%) !important;
}
body .contact-hero-v290::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(11,99,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11,99,255,.045) 1px, transparent 1px);
  background-size: 96px 96px;
  opacity: .55;
  pointer-events: none;
}
body .contact-hero-v290::after {
  content: "";
  position: absolute;
  right: -120px;
  top: -90px;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(37,99,235,.16) 0%, rgba(37,99,235,0) 72%);
  filter: blur(6px);
  pointer-events: none;
}
body .contact-hero-v290 > .container {
  position: relative;
  z-index: 1;
}

/* Mobilní pass – jemné dotažení responzivního chování. */
@media (max-width: 900px) {
  body .support-hero,
  body .contact-hero-v290 {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }
  body .support-hero-grid,
  body .contact-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
  body .support-copy,
  body .contact-hero-copy {
    text-align: center !important;
  }
  body .support-copy > p,
  body .contact-hero-copy > p,
  body .support-copy h1,
  body .contact-hero-copy h1 {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body .support-hero .page-hero-actions,
  body .contact-hero-v290 .page-hero-actions {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
  }
  body .support-hero .page-hero-actions .btn,
  body .contact-hero-v290 .page-hero-actions .btn {
    width: 100% !important;
    justify-content: center !important;
  }
  body .support-panel--pro,
  body .support-hero-panel,
  body .contact-hero-panel {
    max-width: none !important;
    min-height: auto !important;
    width: 100% !important;
    justify-self: stretch !important;
  }
  body .dual-brand-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  body .dual-brand-card {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    gap: 16px !important;
  }
  body .dual-brand-logo-wrap,
  body .dual-brand-card img {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 640px) {
  body .support-status-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body .support-ticket-list > div {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    justify-items: start !important;
  }
  body .support-ticket-list > div > *:last-child {
    justify-self: start !important;
  }
  body .home-services-grid,
  body .cards-grid.six {
    grid-template-columns: 1fr !important;
  }
  body .contact-hero-panel,
  body .support-panel--pro {
    padding: 16px !important;
    border-radius: 26px !important;
  }
}


/* ===== IT-BALON.CZ v377: dual-brands reveal fix + contact map recovery ===== */
@media (min-width: 901px) {
  /* Index – sekce "Dvě značky" nesmí být schovaná za portálem. */
  body .portal-section,
  body #portal-section {
    position: relative !important;
    z-index: 1 !important;
    overflow: visible !important;
    padding-bottom: 18px !important;
    margin-bottom: 0 !important;
  }
  body .portal-grid {
    align-items: start !important;
    gap: 34px !important;
  }
  body .portal-actions {
    margin-bottom: 0 !important;
  }
  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section,
  body .dual-brands-section {
    position: relative !important;
    z-index: 3 !important;
    margin-top: -22px !important;
    padding-top: 12px !important;
    padding-bottom: 22px !important;
    overflow: visible !important;
  }
  body .dual-brands-section > .container {
    position: relative !important;
    z-index: 4 !important;
    padding-top: 0 !important;
  }
  body .dual-brands-head {
    transform: none !important;
    margin: 0 auto 16px !important;
    padding-top: 0 !important;
    position: relative !important;
    z-index: 5 !important;
  }
}

/* Kontakt – mapa znovu zobrazit a nepustit ji do nuly. */
body .contact-page-map-card {
  position: relative !important;
  z-index: 2 !important;
  overflow: visible !important;
}
body .contact-page-map {
  display: grid !important;
  gap: 14px !important;
  align-content: start !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
}
body .contact-page-map iframe,
body .contact-map-preview iframe,
body iframe[src*="maps.google.com"],
body iframe[src*="google.com/maps"] {
  display: block !important;
  width: 100% !important;
  min-height: 320px !important;
  height: 320px !important;
  max-height: none !important;
  border: 0 !important;
  border-radius: 24px !important;
  background: #eef5ff !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, .10) !important;
}
body .contact-page-map .btn {
  justify-self: start !important;
  margin: 0 !important;
}
@media (max-width: 900px) {
  body .contact-page-map iframe,
  body .contact-map-preview iframe,
  body iframe[src*="maps.google.com"],
  body iframe[src*="google.com/maps"] {
    min-height: 260px !important;
    height: 260px !important;
  }
}
@media (max-width: 640px) {
  body .contact-page-map iframe,
  body .contact-map-preview iframe,
  body iframe[src*="maps.google.com"],
  body iframe[src*="google.com/maps"] {
    min-height: 230px !important;
    height: 230px !important;
    border-radius: 18px !important;
  }
  body .contact-page-map .btn {
    width: 100% !important;
    justify-content: center !important;
  }
}


/* ===== IT-BALON.CZ v378: kontakt mapa final + homepage section spacing polish ===== */
@media (min-width: 901px) {
  /* Úvod / Klientský portál → Dvě značky: menší mezera a bez ořezu. */
  body .portal-section,
  body #portal-section {
    overflow: visible !important;
    padding-top: 42px !important;
    padding-bottom: 8px !important;
    margin-bottom: 0 !important;
    min-height: auto !important;
  }
  body .portal-section > .container,
  body #portal-section > .container,
  body .portal-grid,
  body .portal-content,
  body .portal-preview,
  body .portal-actions {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  body .portal-actions {
    margin-top: 12px !important;
  }
  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section,
  body .dual-brands-section {
    margin-top: -56px !important;
    padding-top: 0 !important;
    padding-bottom: 22px !important;
  }
  body .dual-brands-head {
    margin: 0 auto 12px !important;
    transform: none !important;
  }
}

/* Kontakt – mapa musí být uvnitř boxu, kompaktní a bez přetečení. */
body .contact-page-map-card {
  display: grid !important;
  gap: 12px !important;
  align-content: start !important;
  overflow: hidden !important;
}
body .contact-page-map-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  margin: 0 0 2px !important;
}
body .contact-page-map-embed {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  border: 1px solid rgba(9,105,255,.12) !important;
  background: #eef5ff !important;
  box-shadow: 0 16px 34px rgba(24,39,75,.08) !important;
}
body .contact-page-map-frame,
body .contact-page-map-embed iframe {
  display: block !important;
  width: 100% !important;
  height: 320px !important;
  min-height: 320px !important;
  max-height: 320px !important;
  border: 0 !important;
  border-radius: 22px !important;
  background: #eef5ff !important;
}
@media (max-width: 900px) {
  body .contact-page-map-link {
    width: 100% !important;
  }
  body .contact-page-map-frame,
  body .contact-page-map-embed iframe {
    height: 260px !important;
    min-height: 260px !important;
    max-height: 260px !important;
  }
}
@media (max-width: 640px) {
  body .contact-page-map-embed,
  body .contact-page-map-frame,
  body .contact-page-map-embed iframe {
    border-radius: 18px !important;
  }
  body .contact-page-map-frame,
  body .contact-page-map-embed iframe {
    height: 230px !important;
    min-height: 230px !important;
    max-height: 230px !important;
  }
}


/* ===== IT-BALON.CZ v379: kontakt mapa vyšší + černobílá, index mezera final ===== */
@media (min-width: 901px) {
  /* Index / úvod – klientský portál nesmí sekci ořezávat a následující blok jde výrazně výš. */
  body .portal-section,
  body #portal-section {
    position: relative !important;
    z-index: 1 !important;
    overflow: visible !important;
    padding-top: 42px !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    min-height: auto !important;
  }

  body .portal-section > .container,
  body #portal-section > .container,
  body .portal-grid {
    position: relative !important;
    z-index: 2 !important;
    overflow: visible !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  body .portal-preview,
  body .portal-content,
  body .portal-actions {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  body .portal-actions {
    margin-top: 12px !important;
  }

  /* Silnější posun nahoru než v378 – cílem je odstranit velký bílý pás. */
  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section,
  body .dual-brands-section {
    position: relative !important;
    z-index: 5 !important;
    overflow: visible !important;
    margin-top: -128px !important;
    padding-top: 0 !important;
    padding-bottom: 18px !important;
    background: linear-gradient(180deg, rgba(248,251,255,.96) 0%, #ffffff 100%) !important;
  }

  body .dual-brands-section > .container {
    position: relative !important;
    z-index: 6 !important;
    padding-top: 0 !important;
  }

  body .dual-brands-head {
    position: relative !important;
    z-index: 7 !important;
    margin: 0 auto 12px !important;
    transform: translateY(-10px) !important;
  }

  body .dual-brand-grid {
    margin-top: 0 !important;
  }
}

/* Kontakt – pravá karta s mapou má výšku jako levý formulář. */
body .contact-page-grid {
  align-items: stretch !important;
}

body .contact-page-map-card {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body .contact-page-map-link {
  flex: 0 0 auto !important;
  margin-bottom: 14px !important;
}

body .contact-page-map-embed {
  flex: 1 1 auto !important;
  min-height: 620px !important;
  height: auto !important;
  display: flex !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  border: 1px solid rgba(9,105,255,.12) !important;
  background: #eef5ff !important;
  box-shadow: 0 16px 34px rgba(24,39,75,.08) !important;
}

body .contact-page-map-frame,
body .contact-page-map-embed iframe {
  flex: 1 1 auto !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 620px !important;
  max-height: none !important;
  border: 0 !important;
  border-radius: 22px !important;
  filter: grayscale(1) saturate(0) contrast(.96) brightness(1.04) !important;
  -webkit-filter: grayscale(1) saturate(0) contrast(.96) brightness(1.04) !important;
}

@media (min-width: 1200px) {
  body .contact-page-map-embed,
  body .contact-page-map-frame,
  body .contact-page-map-embed iframe {
    min-height: 690px !important;
  }
}

@media (max-width: 900px) {
  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section,
  body .dual-brands-section {
    margin-top: -34px !important;
    padding-top: 0 !important;
  }

  body .dual-brands-head {
    transform: none !important;
  }

  body .contact-page-grid {
    align-items: start !important;
  }

  body .contact-page-map-card {
    height: auto !important;
  }

  body .contact-page-map-embed,
  body .contact-page-map-frame,
  body .contact-page-map-embed iframe {
    min-height: 340px !important;
    height: 340px !important;
  }
}

@media (max-width: 640px) {
  body .contact-page-map-embed,
  body .contact-page-map-frame,
  body .contact-page-map-embed iframe {
    min-height: 260px !important;
    height: 260px !important;
    border-radius: 18px !important;
  }
}


/* ===== IT-BALON.CZ v380: dorovnání mapy + finální oprava homepage portal/dual brands ===== */

/* Kontakt: pravá mapa má končit v rovině s levým formulářem.
   Min-height už nesmí přetahovat kartu pod úroveň formuláře. */
body .contact-page-grid {
  align-items: stretch !important;
}

body .contact-page-form-card--pro,
body .contact-page-map-card {
  height: 100% !important;
}

body .contact-page-map-card {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  overflow: hidden !important;
}

body .contact-page-map-embed {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: hidden !important;
}

body .contact-page-map-frame,
body .contact-page-map-embed iframe {
  display: block !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  border: 0 !important;
  border-radius: 22px !important;
  /* mapa zůstane téměř černobílá, ale připínáček může zůstat lehce barevný */
  filter: grayscale(.88) saturate(.42) contrast(.97) brightness(1.03) !important;
  -webkit-filter: grayscale(.88) saturate(.42) contrast(.97) brightness(1.03) !important;
}

@media (min-width: 901px) {
  body .contact-page-map-card {
    padding-bottom: 18px !important;
  }
}

@media (max-width: 900px) {
  body .contact-page-grid {
    align-items: start !important;
  }

  body .contact-page-map-card,
  body .contact-page-form-card--pro {
    height: auto !important;
  }

  body .contact-page-map-embed,
  body .contact-page-map-frame,
  body .contact-page-map-embed iframe {
    min-height: 340px !important;
    height: 340px !important;
  }
}

@media (max-width: 640px) {
  body .contact-page-map-embed,
  body .contact-page-map-frame,
  body .contact-page-map-embed iframe {
    min-height: 260px !important;
    height: 260px !important;
    border-radius: 18px !important;
  }
}

/* Homepage: portál nesmí být useknutý a sekce Dvě značky nesmí lézt přes spodní část.
   Zmenšit odskok, ale bez překrytí obsahu. */
@media (min-width: 901px) {
  body .portal-section,
  body #portal-section {
    position: relative !important;
    z-index: 2 !important;
    overflow: visible !important;
    padding-top: 36px !important;
    padding-bottom: 74px !important;
    margin-bottom: 0 !important;
    background: linear-gradient(180deg, #edf6ff 0%, #f6fbff 74%, #fbfdff 100%) !important;
  }

  body .portal-section > .container,
  body #portal-section > .container,
  body .portal-grid,
  body .portal-preview,
  body .portal-content,
  body .portal-content > *,
  body .portal-actions,
  body .portal-actions .btn {
    position: relative !important;
    z-index: 6 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body .portal-content .blue-list {
    margin-bottom: 22px !important;
  }

  body .portal-content .blue-list li:last-child {
    opacity: 1 !important;
    filter: none !important;
  }

  body .portal-actions {
    margin-top: 18px !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section,
  body .dual-brands-section {
    position: relative !important;
    z-index: 5 !important;
    overflow: visible !important;
    margin-top: -56px !important;
    padding-top: 0 !important;
    padding-bottom: 24px !important;
    background: linear-gradient(180deg, rgba(248,251,255,.98) 0%, #ffffff 100%) !important;
  }

  body .dual-brands-section > .container {
    position: relative !important;
    z-index: 6 !important;
    padding-top: 0 !important;
  }

  body .dual-brands-head {
    position: relative !important;
    z-index: 7 !important;
    margin: 0 auto 14px !important;
    transform: none !important;
  }

  body .dual-brand-grid {
    margin-top: 0 !important;
  }
}


/* ===== IT-BALON.CZ v381: finální dotažení mezer, formuláře, mapy a barevných kickerů ===== */

/* 1) Homepage index – ještě menší mezera mezi sekcí portálu a sekcí se dvěma značkami. */
@media (min-width: 901px) {
  body .portal-section,
  body #portal-section {
    padding-bottom: 58px !important;
  }

  body .portal-content .blue-list li,
  body .portal-content .blue-list li:last-child,
  body .portal-content .blue-list,
  body .portal-content .blue-list * {
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
  }

  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section,
  body .dual-brands-section {
    margin-top: -92px !important;
    padding-top: 0 !important;
  }

  body .dual-brands-head {
    margin: 0 auto 10px !important;
  }

  body .dual-brand-grid {
    margin-top: 0 !important;
  }
}

/* 2) Kontaktní formuláře – pomocný text dole nesmí být nalepený na spodní hranu. */
body .form-actions {
  padding-bottom: 14px !important;
}

body .form-actions .form-help,
body .itb-enhanced-form .form-help {
  display: block !important;
  margin-top: 12px !important;
  margin-bottom: 10px !important;
  line-height: 1.55 !important;
}

body .contact-side--form,
body .contact-page-form-card--pro {
  padding-bottom: 8px !important;
}

/* 3) Kontakt – mapa zarovnat až na spodní hranu sousední karty, bez spodního odskočení.
      Ponechat téměř černobílý look, ale s lehce barevnějším pinem. */
body .contact-page-map-card {
  padding-bottom: 0 !important;
}

body .contact-page-map-embed {
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

body .contact-page-map-frame,
body .contact-page-map-embed iframe {
  min-height: 0 !important;
  height: 100% !important;
  filter: grayscale(.62) saturate(.78) contrast(.98) brightness(1.02) !important;
  -webkit-filter: grayscale(.62) saturate(.78) contrast(.98) brightness(1.02) !important;
}

@media (min-width: 901px) {
  body .contact-page-map-card,
  body .contact-page-form-card--pro {
    height: 100% !important;
  }

  body .contact-page-grid {
    align-items: stretch !important;
  }
}

/* 4) Služby – malé nadpisové kickery přebarvit podle barvy dané sekce. */
body .service-detail-section.service-theme--support .section-kicker {
  color: #0b63ff !important;
  border-color: rgba(11,99,255,.26) !important;
  background: rgba(11,99,255,.08) !important;
}

body .service-detail-section.service-theme--network .section-kicker {
  color: #ea580c !important;
  border-color: rgba(249,115,22,.28) !important;
  background: rgba(249,115,22,.10) !important;
}

body .service-detail-section.service-theme--web .section-kicker {
  color: #0f766e !important;
  border-color: rgba(20,184,166,.26) !important;
  background: rgba(20,184,166,.09) !important;
}

body .service-detail-section.service-theme--hardware .section-kicker {
  color: #6d28d9 !important;
  border-color: rgba(109,40,217,.24) !important;
  background: rgba(109,40,217,.08) !important;
}

body .service-detail-section.service-theme--video .section-kicker {
  color: #e11d48 !important;
  border-color: rgba(225,29,72,.26) !important;
  background: rgba(225,29,72,.08) !important;
}

/* Jemně srovnat kapsli, ať nepůsobí moc daleko od čísla sekce. */
body .service-detail-copy .section-kicker {
  margin-top: 2px !important;
}


/* ===== IT-BALON.CZ v382: dorovnání kontaktu + finální oprava překládání sekcí na homepage ===== */

/* 1) Úvod / index – nenechat spodní sekci přelézat přes CTA tlačítka,
      ale stále zachovat menší mezeru než původně. */
@media (min-width: 901px) {
  body .portal-section,
  body #portal-section {
    position: relative !important;
    z-index: 3 !important;
    padding-bottom: 112px !important;
    overflow: visible !important;
  }

  body .portal-section > .container,
  body #portal-section > .container {
    position: relative !important;
    z-index: 6 !important;
  }

  body .portal-section .portal-content,
  body #portal-section .portal-content,
  body .portal-section .portal-actions,
  body #portal-section .portal-actions {
    position: relative !important;
    z-index: 8 !important;
  }

  body .portal-content .blue-list li,
  body .portal-content .blue-list,
  body .portal-content .blue-list * {
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
  }

  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section,
  body .dual-brands-section {
    position: relative !important;
    z-index: 1 !important;
    margin-top: -44px !important;
    padding-top: 0 !important;
  }

  body .dual-brands-section > .container {
    position: relative !important;
    z-index: 2 !important;
  }

  body .dual-brands-section .dual-brands-head {
    margin: 0 auto 8px !important;
  }

  body .dual-brand-grid {
    margin-top: 0 !important;
  }
}

/* 2) Kontakt – nepřilepit spodky karet na spodní okraj sekce; přidat rezervu a pěkné zarovnání. */
body .contact-page-grid {
  align-items: stretch !important;
  gap: 24px !important;
}

body .contact-page-form-card--pro,
body .contact-page-map-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  padding-bottom: 22px !important;
  margin-bottom: 8px !important;
}

body .contact-page-map-card {
  justify-content: flex-start !important;
}

body .contact-page-map-embed {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
}

body .contact-page-map-frame {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border-radius: 24px !important;
  overflow: hidden !important;
}

body .contact-page-map-embed iframe {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
}

body .contact-page-section,
body .contact-page-wrap,
body .contact-page {
  padding-bottom: 28px !important;
}

body .form-actions {
  padding-bottom: 18px !important;
}

body .form-actions .form-help,
body .itb-enhanced-form .form-help {
  margin-bottom: 14px !important;
}

@media (max-width: 900px) {
  body .contact-page-form-card--pro,
  body .contact-page-map-card {
    height: auto !important;
    margin-bottom: 0 !important;
    padding-bottom: 18px !important;
  }

  body .contact-page-grid {
    gap: 18px !important;
  }
}


/* ===== IT-BALON.CZ v383: barevné sjednocení detailů služeb + IČ update ===== */

/* Tematické akcenty pro jednotlivé sekce služeb */
body .service-detail-section.service-theme--support{
  --itb-service-accent:#0b63ff;
  --itb-service-accent-dark:#084fc9;
  --itb-service-accent-soft:rgba(11,99,255,.10);
  --itb-service-accent-border:rgba(11,99,255,.24);
}
body .service-detail-section.service-theme--network{
  --itb-service-accent:#ff8a1c;
  --itb-service-accent-dark:#ea580c;
  --itb-service-accent-soft:rgba(249,115,22,.11);
  --itb-service-accent-border:rgba(249,115,22,.26);
}
body .service-detail-section.service-theme--web{
  --itb-service-accent:#14b8a6;
  --itb-service-accent-dark:#0f766e;
  --itb-service-accent-soft:rgba(20,184,166,.10);
  --itb-service-accent-border:rgba(20,184,166,.24);
}
body .service-detail-section.service-theme--hardware{
  --itb-service-accent:#7c3aed;
  --itb-service-accent-dark:#5b21b6;
  --itb-service-accent-soft:rgba(124,58,237,.10);
  --itb-service-accent-border:rgba(124,58,237,.24);
}
body .service-detail-section.service-theme--video{
  --itb-service-accent:#e11d48;
  --itb-service-accent-dark:#be123c;
  --itb-service-accent-soft:rgba(225,29,72,.09);
  --itb-service-accent-border:rgba(225,29,72,.24);
}

body .service-detail-section[class*="service-theme--"] .service-detail-copy h2{
  color:var(--itb-service-accent-dark) !important;
}

body .service-detail-section[class*="service-theme--"] .section-kicker{
  color:var(--itb-service-accent-dark) !important;
  border-color:var(--itb-service-accent-border) !important;
  background:var(--itb-service-accent-soft) !important;
}

body .service-detail-section[class*="service-theme--"] .service-checklist li::before,
body .service-detail-section[class*="service-theme--"] .service-side-points article::before{
  color:var(--itb-service-accent-dark) !important;
}

body .service-detail-section[class*="service-theme--"] .btn.btn-primary{
  background:linear-gradient(135deg,var(--itb-service-accent) 0%,var(--itb-service-accent-dark) 100%) !important;
  border-color:transparent !important;
  color:#fff !important;
  box-shadow:0 18px 36px color-mix(in srgb, var(--itb-service-accent) 26%, transparent) !important;
}
body .service-detail-section[class*="service-theme--"] .btn.btn-primary:hover,
body .service-detail-section[class*="service-theme--"] .btn.btn-primary:focus-visible{
  color:#fff !important;
  transform:translateY(-2px);
  box-shadow:0 22px 40px color-mix(in srgb, var(--itb-service-accent) 34%, transparent) !important;
}

/* Fallback pro prohlížeče bez color-mix */
@supports not (color: color-mix(in srgb, red 50%, white)) {
  body .service-detail-section.service-theme--support .btn.btn-primary{box-shadow:0 18px 36px rgba(11,99,255,.24) !important;}
  body .service-detail-section.service-theme--network .btn.btn-primary{box-shadow:0 18px 36px rgba(249,115,22,.24) !important;}
  body .service-detail-section.service-theme--web .btn.btn-primary{box-shadow:0 18px 36px rgba(20,184,166,.24) !important;}
  body .service-detail-section.service-theme--hardware .btn.btn-primary{box-shadow:0 18px 36px rgba(124,58,237,.24) !important;}
  body .service-detail-section.service-theme--video .btn.btn-primary{box-shadow:0 18px 36px rgba(225,29,72,.24) !important;}
}


/* ===== IT-BALON.CZ v384: homepage gap tighten + softer IT-BALON service palette ===== */

/* 1) Homepage / úvod – stáhnout mezeru mezi portálem a sekcí dvou značek,
      ale nechat CTA i obsah plně viditelný. */
@media (min-width: 901px) {
  body .portal-section,
  body #portal-section {
    padding-top: 56px !important;
    padding-bottom: 54px !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
  }

  body .portal-section > .container,
  body #portal-section > .container {
    margin-bottom: 0 !important;
  }

  body .portal-content,
  body .portal-actions,
  body .portal-actions .btn {
    margin-bottom: 0 !important;
  }

  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section {
    margin-top: -6px !important;
    padding-top: 20px !important;
  }

  body .dual-brands-section {
    padding-bottom: 36px !important;
  }

  body .dual-brands-section .dual-brands-head {
    margin-top: 0 !important;
    margin-bottom: 22px !important;
  }

  body .dual-brands-section .dual-brands-head .section-copy {
    margin-top: 12px !important;
  }
}

/* 2) Detailní sekce služeb – tlumenější, ale odlišená paleta ve stylu IT-BALON. */
body .service-detail-section.service-theme--support {
  --itb-service-accent: #1b5fd1;
  --itb-service-accent-dark: #143e8b;
  --itb-service-accent-soft: rgba(27,95,209,.10);
  --itb-service-accent-border: rgba(27,95,209,.20);
  background: linear-gradient(135deg, #f4f8ff 0%, #ffffff 58%, #eef5ff 100%) !important;
}

body .service-detail-section.service-theme--network {
  --itb-service-accent: #cf6e3c;
  --itb-service-accent-dark: #9c4b24;
  --itb-service-accent-soft: rgba(207,110,60,.10);
  --itb-service-accent-border: rgba(207,110,60,.20);
  background: linear-gradient(135deg, #fff8f3 0%, #ffffff 56%, #fff3ea 100%) !important;
}

body .service-detail-section.service-theme--web {
  --itb-service-accent: #c34a5e;
  --itb-service-accent-dark: #8c2f40;
  --itb-service-accent-soft: rgba(195,74,94,.10);
  --itb-service-accent-border: rgba(195,74,94,.18);
  background: linear-gradient(135deg, #fff7f8 0%, #ffffff 56%, #fff1f3 100%) !important;
}

body .service-detail-section.service-theme--hardware {
  --itb-service-accent: #475569;
  --itb-service-accent-dark: #243244;
  --itb-service-accent-soft: rgba(71,85,105,.09);
  --itb-service-accent-border: rgba(71,85,105,.18);
  background: linear-gradient(135deg, #f7f9fc 0%, #ffffff 56%, #eff4fa 100%) !important;
}

body .service-detail-section.service-theme--video {
  --itb-service-accent: #8e3f55;
  --itb-service-accent-dark: #64293b;
  --itb-service-accent-soft: rgba(142,63,85,.09);
  --itb-service-accent-border: rgba(142,63,85,.18);
  background: linear-gradient(135deg, #fff8fb 0%, #ffffff 56%, #f8f2f6 100%) !important;
}

/* Barevně sladit hlavní titulky, kicker a CTA uvnitř detailních sekcí. */
body .service-detail-section[class*="service-theme--"] .service-detail-copy h2,
body .service-detail-section[class*="service-theme--"] .service-detail-copy > h2 {
  color: var(--itb-service-accent-dark) !important;
}

body .service-detail-section[class*="service-theme--"] .section-kicker {
  color: var(--itb-service-accent) !important;
  border-color: var(--itb-service-accent-border) !important;
  background: var(--itb-service-accent-soft) !important;
}

body .service-detail-section[class*="service-theme--"] .service-tags span,
body .service-detail-section[class*="service-theme--"] .service-tags a,
body .service-detail-section[class*="service-theme--"] .service-pill,
body .service-detail-section[class*="service-theme--"] .service-pill-row span {
  color: var(--itb-service-accent-dark) !important;
  border-color: var(--itb-service-accent-border) !important;
  background: color-mix(in srgb, var(--itb-service-accent) 8%, white) !important;
}

body .service-detail-section[class*="service-theme--"] .service-checklist li::before,
body .service-detail-section[class*="service-theme--"] .service-side-points article::before,
body .service-detail-section[class*="service-theme--"] .service-icon,
body .service-detail-section[class*="service-theme--"] .service-side-points .icon,
body .service-detail-section[class*="service-theme--"] .service-feature-icon {
  color: var(--itb-service-accent) !important;
}

body .service-detail-section[class*="service-theme--"] .btn.btn-primary {
  background: linear-gradient(135deg, var(--itb-service-accent) 0%, var(--itb-service-accent-dark) 100%) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 18px 36px color-mix(in srgb, var(--itb-service-accent) 24%, transparent) !important;
}

body .service-detail-section[class*="service-theme--"] .btn.btn-primary:hover,
body .service-detail-section[class*="service-theme--"] .btn.btn-primary:focus-visible {
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 20px 40px color-mix(in srgb, var(--itb-service-accent) 30%, transparent) !important;
}

body .service-detail-section[class*="service-theme--"] .btn.btn-secondary,
body .service-detail-section[class*="service-theme--"] .btn.btn-secondary-outline {
  color: var(--itb-service-accent-dark) !important;
  border-color: var(--itb-service-accent-border) !important;
  background: rgba(255,255,255,.78) !important;
}

/* Fallback, pokud by chyběla podpora color-mix. */
@supports not (color: color-mix(in srgb, red 50%, white)) {
  body .service-detail-section.service-theme--support .service-tags span,
  body .service-detail-section.service-theme--support .service-pill,
  body .service-detail-section.service-theme--support .service-pill-row span { background:#f0f5ff !important; }
  body .service-detail-section.service-theme--network .service-tags span,
  body .service-detail-section.service-theme--network .service-pill,
  body .service-detail-section.service-theme--network .service-pill-row span { background:#fff3eb !important; }
  body .service-detail-section.service-theme--web .service-tags span,
  body .service-detail-section.service-theme--web .service-pill,
  body .service-detail-section.service-theme--web .service-pill-row span { background:#fff1f4 !important; }
  body .service-detail-section.service-theme--hardware .service-tags span,
  body .service-detail-section.service-theme--hardware .service-pill,
  body .service-detail-section.service-theme--hardware .service-pill-row span { background:#f2f5f8 !important; }
  body .service-detail-section.service-theme--video .service-tags span,
  body .service-detail-section.service-theme--video .service-pill,
  body .service-detail-section.service-theme--video .service-pill-row span { background:#faf2f5 !important; }

  body .service-detail-section.service-theme--support .btn.btn-primary { box-shadow: 0 18px 36px rgba(27,95,209,.22) !important; }
  body .service-detail-section.service-theme--network .btn.btn-primary { box-shadow: 0 18px 36px rgba(207,110,60,.22) !important; }
  body .service-detail-section.service-theme--web .btn.btn-primary { box-shadow: 0 18px 36px rgba(195,74,94,.20) !important; }
  body .service-detail-section.service-theme--hardware .btn.btn-primary { box-shadow: 0 18px 36px rgba(71,85,105,.22) !important; }
  body .service-detail-section.service-theme--video .btn.btn-primary { box-shadow: 0 18px 36px rgba(142,63,85,.20) !important; }
}


/* ===== IT-BALON.CZ v385: homepage gap tighter + unify service colors ===== */

/* 1) Úvod / homepage – ještě stáhnout mezeru mezi Portálem a Dual brands. */
@media (min-width: 901px) {
  body .portal-section,
  body #portal-section {
    padding-top: 50px !important;
    padding-bottom: 24px !important;
    margin-bottom: 0 !important;
  }

  body .portal-grid,
  body .portal-content,
  body .portal-preview {
    margin-bottom: 0 !important;
  }

  body .portal-actions {
    margin-top: 10px !important;
    margin-bottom: 0 !important;
  }

  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section {
    margin-top: -18px !important;
    padding-top: 6px !important;
    padding-bottom: 28px !important;
  }

  body .dual-brands-section {
    padding-top: 6px !important;
    padding-bottom: 28px !important;
  }

  body .dual-brands-section .dual-brands-head {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
  }

  body .dual-brands-section .dual-brands-head .section-copy {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
  }
}

/* 2) Služby – sjednotit barevnost celé sekce podle tématu (zejména WEB). */
/* SUPPORT / modrá */
body .service-detail-section.service-theme--support {
  --itb-service-accent: #1f5fcf;
  --itb-service-accent-dark: #153f8e;
  --itb-service-accent-soft: rgba(31,95,207,.10);
  --itb-service-accent-border: rgba(31,95,207,.20);
}
body .service-theme--support .service-visual.service-visual--support {
  background: linear-gradient(145deg, #14356e 0%, #1f5fcf 58%, #78aef6 100%) !important;
  box-shadow: 0 28px 54px rgba(31,95,207,.22) !important;
}

/* NETWORK / tlumená oranžová */
body .service-detail-section.service-theme--network {
  --itb-service-accent: #cf6e3c;
  --itb-service-accent-dark: #9c4b24;
  --itb-service-accent-soft: rgba(207,110,60,.10);
  --itb-service-accent-border: rgba(207,110,60,.20);
}
body .service-theme--network .service-visual.service-visual--servers {
  background: linear-gradient(145deg, #9a4a24 0%, #cf6e3c 56%, #efb164 100%) !important;
  box-shadow: 0 28px 54px rgba(207,110,60,.22) !important;
}

/* WEB / sjednotit do tlumené červenorůžové, ne do tyrkysu */
body .service-detail-section.service-theme--web {
  --itb-service-accent: #c0586d;
  --itb-service-accent-dark: #8b3245;
  --itb-service-accent-soft: rgba(192,88,109,.10);
  --itb-service-accent-border: rgba(192,88,109,.18);
  background: linear-gradient(135deg, #fff8fa 0%, #ffffff 56%, #fff2f5 100%) !important;
}
body .service-theme--web .service-visual.service-visual--web {
  background: linear-gradient(145deg, #7d2f41 0%, #c0586d 56%, #eab0bc 100%) !important;
  box-shadow: 0 28px 54px rgba(192,88,109,.22) !important;
}

/* HARDWARE / tmavě modro-šedá */
body .service-detail-section.service-theme--hardware {
  --itb-service-accent: #546478;
  --itb-service-accent-dark: #2c3948;
  --itb-service-accent-soft: rgba(84,100,120,.10);
  --itb-service-accent-border: rgba(84,100,120,.18);
  background: linear-gradient(135deg, #f7f9fc 0%, #ffffff 56%, #eff3f8 100%) !important;
}
body .service-theme--hardware .service-visual.service-visual--hardware {
  background: linear-gradient(145deg, #2c3948 0%, #546478 56%, #9da9b7 100%) !important;
  box-shadow: 0 28px 54px rgba(84,100,120,.20) !important;
}

/* VIDEO / tmavá vínově-černá */
body .service-detail-section.service-theme--video {
  --itb-service-accent: #7b4659;
  --itb-service-accent-dark: #442432;
  --itb-service-accent-soft: rgba(123,70,89,.10);
  --itb-service-accent-border: rgba(123,70,89,.18);
  background: linear-gradient(135deg, #fff9fb 0%, #ffffff 56%, #f8f2f5 100%) !important;
}
body .service-theme--video .service-visual.service-visual--video {
  background: linear-gradient(145deg, #442432 0%, #7b4659 56%, #c5909f 100%) !important;
  box-shadow: 0 28px 54px rgba(123,70,89,.20) !important;
}

/* Společné barevné sladění v rámci detailních sekcí služeb. */
body .service-detail-section[class*="service-theme--"] .service-detail-copy h2,
body .service-detail-section[class*="service-theme--"] .service-detail-copy > h2 {
  color: var(--itb-service-accent-dark) !important;
}

body .service-detail-section[class*="service-theme--"] .section-kicker {
  color: var(--itb-service-accent) !important;
  background: var(--itb-service-accent-soft) !important;
  border-color: var(--itb-service-accent-border) !important;
}

body .service-detail-section[class*="service-theme--"] .service-number,
body .service-detail-section[class*="service-theme--"] .service-side-points article::before,
body .service-detail-section[class*="service-theme--"] .service-side-points .icon,
body .service-detail-section[class*="service-theme--"] .service-feature-icon {
  background: var(--itb-service-accent) !important;
  color: #fff !important;
  box-shadow: 0 16px 30px color-mix(in srgb, var(--itb-service-accent) 22%, transparent) !important;
}

body .service-detail-section[class*="service-theme--"] .service-pill-row span,
body .service-detail-section[class*="service-theme--"] .service-tags span,
body .service-detail-section[class*="service-theme--"] .service-pill,
body .service-detail-section[class*="service-theme--"] .service-pill-row a {
  color: var(--itb-service-accent-dark) !important;
  border-color: var(--itb-service-accent-border) !important;
  background: color-mix(in srgb, var(--itb-service-accent) 8%, white) !important;
}

body .service-detail-section[class*="service-theme--"] .service-checklist li::before,
body .service-detail-section[class*="service-theme--"] .service-side-points article h3,
body .service-detail-section[class*="service-theme--"] .service-copy strong {
  color: var(--itb-service-accent-dark) !important;
}

body .service-detail-section[class*="service-theme--"] .btn.btn-primary {
  background: linear-gradient(135deg, var(--itb-service-accent) 0%, var(--itb-service-accent-dark) 100%) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 18px 36px color-mix(in srgb, var(--itb-service-accent) 24%, transparent) !important;
}

body .service-detail-section[class*="service-theme--"] .btn.btn-primary:hover,
body .service-detail-section[class*="service-theme--"] .btn.btn-primary:focus-visible {
  color: #fff !important;
  box-shadow: 0 20px 40px color-mix(in srgb, var(--itb-service-accent) 30%, transparent) !important;
}

body .service-detail-section[class*="service-theme--"] .btn.btn-secondary,
body .service-detail-section[class*="service-theme--"] .btn.btn-secondary-outline {
  color: var(--itb-service-accent-dark) !important;
  border-color: var(--itb-service-accent-border) !important;
  background: rgba(255,255,255,.78) !important;
}

/* Fallback pro prohlížeče bez color-mix */
@supports not (color: color-mix(in srgb, red 50%, white)) {
  body .service-detail-section.service-theme--support .service-number,
  body .service-detail-section.service-theme--support .service-side-points article::before,
  body .service-detail-section.service-theme--support .service-side-points .icon,
  body .service-detail-section.service-theme--support .service-feature-icon { box-shadow:0 16px 30px rgba(31,95,207,.22) !important; }
  body .service-detail-section.service-theme--network .service-number,
  body .service-detail-section.service-theme--network .service-side-points article::before,
  body .service-detail-section.service-theme--network .service-side-points .icon,
  body .service-detail-section.service-theme--network .service-feature-icon { box-shadow:0 16px 30px rgba(207,110,60,.22) !important; }
  body .service-detail-section.service-theme--web .service-number,
  body .service-detail-section.service-theme--web .service-side-points article::before,
  body .service-detail-section.service-theme--web .service-side-points .icon,
  body .service-detail-section.service-theme--web .service-feature-icon { box-shadow:0 16px 30px rgba(192,88,109,.22) !important; }
  body .service-detail-section.service-theme--hardware .service-number,
  body .service-detail-section.service-theme--hardware .service-side-points article::before,
  body .service-detail-section.service-theme--hardware .service-side-points .icon,
  body .service-detail-section.service-theme--hardware .service-feature-icon { box-shadow:0 16px 30px rgba(84,100,120,.22) !important; }
  body .service-detail-section.service-theme--video .service-number,
  body .service-detail-section.service-theme--video .service-side-points article::before,
  body .service-detail-section.service-theme--video .service-side-points .icon,
  body .service-detail-section.service-theme--video .service-feature-icon { box-shadow:0 16px 30px rgba(123,70,89,.22) !important; }

  body .service-detail-section.service-theme--support .service-pill-row span,
  body .service-detail-section.service-theme--support .service-tags span,
  body .service-detail-section.service-theme--support .service-pill { background:#f0f5ff !important; }
  body .service-detail-section.service-theme--network .service-pill-row span,
  body .service-detail-section.service-theme--network .service-tags span,
  body .service-detail-section.service-theme--network .service-pill { background:#fff3eb !important; }
  body .service-detail-section.service-theme--web .service-pill-row span,
  body .service-detail-section.service-theme--web .service-tags span,
  body .service-detail-section.service-theme--web .service-pill { background:#fff1f4 !important; }
  body .service-detail-section.service-theme--hardware .service-pill-row span,
  body .service-detail-section.service-theme--hardware .service-tags span,
  body .service-detail-section.service-theme--hardware .service-pill { background:#f2f5f8 !important; }
  body .service-detail-section.service-theme--video .service-pill-row span,
  body .service-detail-section.service-theme--video .service-tags span,
  body .service-detail-section.service-theme--video .service-pill { background:#faf2f5 !important; }

  body .service-detail-section.service-theme--support .btn.btn-primary { box-shadow:0 18px 36px rgba(31,95,207,.24) !important; }
  body .service-detail-section.service-theme--network .btn.btn-primary { box-shadow:0 18px 36px rgba(207,110,60,.24) !important; }
  body .service-detail-section.service-theme--web .btn.btn-primary { box-shadow:0 18px 36px rgba(192,88,109,.22) !important; }
  body .service-detail-section.service-theme--hardware .btn.btn-primary { box-shadow:0 18px 36px rgba(84,100,120,.22) !important; }
  body .service-detail-section.service-theme--video .btn.btn-primary { box-shadow:0 18px 36px rgba(123,70,89,.22) !important; }
}


/* ===== IT-BALON.CZ v386: homepage portal section – add a bit more bottom breathing room ===== */
@media (min-width: 901px) {
  body .portal-section,
  body #portal-section {
    padding-bottom: 42px !important;
  }

  body .portal-grid,
  body .portal-content,
  body .portal-preview {
    margin-bottom: 0 !important;
  }

  body .portal-actions {
    margin-bottom: 2px !important;
  }

  /* Další sekce ponechat stále poměrně blízko, ale už ne úplně natěsno. */
  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section {
    margin-top: -10px !important;
    padding-top: 2px !important;
  }
}


/* ===== IT-BALON.CZ v387: homepage portal / dual brands spacing final tune ===== */
@media (min-width: 901px) {
  /* V samotné horní sekci nechat viditelný příjemný spodní vnitřní odsazení. */
  body .portal-section,
  body #portal-section {
    padding-bottom: 54px !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
  }

  body .portal-section > .container,
  body #portal-section > .container,
  body .portal-grid,
  body .portal-preview,
  body .portal-content {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    overflow: visible !important;
  }

  body .portal-actions {
    margin-top: 12px !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Druhou sekci přitáhnout výš, aby nevznikal velký prázdný pás. */
  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section,
  body .dual-brands-section {
    margin-top: -68px !important;
    padding-top: 0 !important;
    padding-bottom: 18px !important;
  }

  body .dual-brands-section > .container {
    padding-top: 0 !important;
  }

  body .dual-brands-head {
    margin: 0 auto 10px !important;
    transform: translateY(0) !important;
  }

  body .dual-brand-grid {
    margin-top: 0 !important;
  }
}


/* ===== IT-BALON.CZ v388: service palette tune + homepage section spacing ===== */
/* Síťová sekce: původní oranžovou nahradit tlumenou modří #1a709a */
body .service-detail-section.service-theme--network {
  --itb-service-accent: #1a709a !important;
  --itb-service-accent-dark: #14587a !important;
  --itb-service-accent-soft: rgba(26,112,154,.10) !important;
  --itb-service-accent-border: rgba(26,112,154,.20) !important;
  background: linear-gradient(135deg, #f5fbff 0%, #ffffff 56%, #edf7fc 100%) !important;
}
body .service-theme--network .service-visual.service-visual--servers {
  background: linear-gradient(145deg, #104c69 0%, #1a709a 56%, #79bddc 100%) !important;
  box-shadow: 0 28px 54px rgba(26,112,154,.22) !important;
}

/* Webová sekce: původní červenou nahradit tlumenou modří #236f9f */
body .service-detail-section.service-theme--web {
  --itb-service-accent: #236f9f !important;
  --itb-service-accent-dark: #1a587e !important;
  --itb-service-accent-soft: rgba(35,111,159,.10) !important;
  --itb-service-accent-border: rgba(35,111,159,.20) !important;
  background: linear-gradient(135deg, #f5fbff 0%, #ffffff 56%, #eef7fd 100%) !important;
}
body .service-theme--web .service-visual.service-visual--web {
  background: linear-gradient(145deg, #174762 0%, #236f9f 56%, #7dbadb 100%) !important;
  box-shadow: 0 28px 54px rgba(35,111,159,.22) !important;
}

/* Fallback stíny/pilly bez color-mix */
@supports not (color: color-mix(in srgb, red 50%, white)) {
  body .service-detail-section.service-theme--network .service-number,
  body .service-detail-section.service-theme--network .service-side-points article::before,
  body .service-detail-section.service-theme--network .service-side-points .icon,
  body .service-detail-section.service-theme--network .service-feature-icon { box-shadow:0 16px 30px rgba(26,112,154,.22) !important; }
  body .service-detail-section.service-theme--web .service-number,
  body .service-detail-section.service-theme--web .service-side-points article::before,
  body .service-detail-section.service-theme--web .service-side-points .icon,
  body .service-detail-section.service-theme--web .service-feature-icon { box-shadow:0 16px 30px rgba(35,111,159,.22) !important; }

  body .service-detail-section.service-theme--network .service-pill-row span,
  body .service-detail-section.service-theme--network .service-tags span,
  body .service-detail-section.service-theme--network .service-pill { background:#eef7fc !important; }
  body .service-detail-section.service-theme--web .service-pill-row span,
  body .service-detail-section.service-theme--web .service-tags span,
  body .service-detail-section.service-theme--web .service-pill { background:#eef7fd !important; }

  body .service-detail-section.service-theme--network .btn.btn-primary { box-shadow:0 18px 36px rgba(26,112,154,.24) !important; }
  body .service-detail-section.service-theme--web .btn.btn-primary { box-shadow:0 18px 36px rgba(35,111,159,.22) !important; }
}

/* Úvod: vytáhnout text v následující sekci výš a zmenšit mezeru mezi bloky */
@media (min-width: 901px) {
  body .portal-section,
  body #portal-section {
    padding-bottom: 26px !important;
    margin-bottom: 0 !important;
  }

  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section,
  body .dual-brands-section {
    margin-top: -120px !important;
    padding-top: 0 !important;
    padding-bottom: 18px !important;
  }

  body .dual-brands-section > .container {
    padding-top: 0 !important;
  }

  body .dual-brands-section .dual-brands-head {
    margin: 0 auto 10px !important;
    padding-top: 0 !important;
    transform: translateY(0) !important;
  }
}


/* ===== IT-BALON.CZ v389: homepage portal/brands spacing final polish ===== */
@media (min-width: 901px) {
  /* Blok klientského portálu nechat dýchat dole, ať není karta nalepená na hraně sekce. */
  body .portal-section,
  body #portal-section {
    padding-top: 24px !important;
    padding-bottom: 46px !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
  }

  body .portal-section > .container,
  body #portal-section > .container,
  body .portal-grid {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    align-items: start !important;
    overflow: visible !important;
  }

  body .portal-preview,
  body .portal-content {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    align-self: start !important;
  }

  body .portal-actions {
    margin-top: 18px !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Další sekci přitáhnout výš, ale stále jí nechat vlastní horní a spodní dech. */
  body .portal-section + .dual-brands-section,
  body #portal-section + .dual-brands-section,
  body .dual-brands-section {
    margin-top: -92px !important;
    padding-top: 8px !important;
    padding-bottom: 42px !important;
  }

  body .dual-brands-section > .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Text v sekci se dvěma značkami posunout výše a zmenšit mezeru nad ním. */
  body .dual-brands-section .dual-brands-head {
    margin: 0 auto 14px !important;
    padding-top: 0 !important;
    transform: translateY(-12px) !important;
  }

  body .dual-brands-section .dual-brands-head .section-kicker {
    margin-bottom: 4px !important;
  }

  body .dual-brands-section .dual-brands-head .section-title {
    margin-bottom: 6px !important;
  }

  body .dual-brands-section .dual-brands-head .section-copy {
    margin-top: 0 !important;
  }

  body .dual-brand-grid {
    margin-top: 0 !important;
  }

  /* Ať je pod kartami ještě příjemný padding před další tmavou sekcí. */
  body .dual-brand-card {
    margin-bottom: 0 !important;
  }

  body .dual-brands-section + .creative-section,
  body .dual-brands-section + section.creative-section {
    padding-top: 20px !important;
  }
}


/* ===== IT-BALON.CZ v390: služba Weby/microsite/systémy -> jednotná tmavě vínová #670b0b ===== */
body .service-detail-section.service-theme--web {
  --itb-service-accent: #670b0b !important;
  --itb-service-accent-dark: #3f0606 !important;
  --itb-service-accent-soft: rgba(103,11,11,.095) !important;
  --itb-service-accent-border: rgba(103,11,11,.20) !important;
  background:
    radial-gradient(circle at 86% 14%, rgba(103,11,11,.10), transparent 27%),
    radial-gradient(circle at 12% 78%, rgba(103,11,11,.07), transparent 24%),
    linear-gradient(135deg, #fff8f8 0%, #ffffff 56%, #f8eeee 100%) !important;
}
body .service-theme--web .service-visual.service-visual--web {
  background: linear-gradient(145deg, #260303 0%, #670b0b 58%, #a55f5f 100%) !important;
  box-shadow: 0 28px 54px rgba(103,11,11,.22) !important;
}
body .service-detail-section.service-theme--web .service-detail-copy h2,
body .service-detail-section.service-theme--web .service-detail-copy > h2,
body .service-detail-section.service-theme--web .service-checklist li::before,
body .service-detail-section.service-theme--web .service-side-points article h3,
body .service-detail-section.service-theme--web .service-copy strong {
  color: #3f0606 !important;
}
body .service-detail-section.service-theme--web .section-kicker,
body .service-detail-section.service-theme--web .service-pill-row span,
body .service-detail-section.service-theme--web .service-tags span,
body .service-detail-section.service-theme--web .service-pill,
body .service-detail-section.service-theme--web .service-pill-row a {
  color: #3f0606 !important;
  border-color: rgba(103,11,11,.22) !important;
  background: rgba(103,11,11,.08) !important;
}
body .service-detail-section.service-theme--web .service-number,
body .service-detail-section.service-theme--web .service-side-points article::before,
body .service-detail-section.service-theme--web .service-side-points .icon,
body .service-detail-section.service-theme--web .service-feature-icon {
  background: #670b0b !important;
  color: #fff !important;
  box-shadow: 0 16px 30px rgba(103,11,11,.22) !important;
}
body .service-detail-section.service-theme--web .btn.btn-primary {
  background: linear-gradient(135deg, #670b0b 0%, #3f0606 100%) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 18px 36px rgba(103,11,11,.24) !important;
}
body .service-detail-section.service-theme--web .btn.btn-primary:hover,
body .service-detail-section.service-theme--web .btn.btn-primary:focus-visible {
  color:#fff !important;
  box-shadow: 0 20px 40px rgba(103,11,11,.30) !important;
}
body .service-detail-section.service-theme--web .btn.btn-secondary,
body .service-detail-section.service-theme--web .btn.btn-secondary-outline {
  color:#3f0606 !important;
  border-color:rgba(103,11,11,.22) !important;
  background:rgba(255,255,255,.80) !important;
}

/* ===== IT-BALON.CZ v391: služba Svatební natáčení / focení / postprodukce -> skoro černá ===== */
body .service-detail-section.service-theme--video {
  --itb-service-accent: #1b1f24 !important;
  --itb-service-accent-dark: #07090b !important;
  --itb-service-accent-soft: rgba(27,31,36,.08) !important;
  --itb-service-accent-border: rgba(27,31,36,.18) !important;
  background:
    radial-gradient(circle at 84% 14%, rgba(27,31,36,.08), transparent 28%),
    radial-gradient(circle at 12% 82%, rgba(27,31,36,.05), transparent 24%),
    linear-gradient(135deg, #fcfcfd 0%, #ffffff 56%, #f3f5f7 100%) !important;
}
body .service-theme--video .service-visual.service-visual--video {
  background: linear-gradient(145deg, #050607 0%, #181c21 56%, #4b5563 100%) !important;
  box-shadow: 0 28px 54px rgba(17,20,24,.24) !important;
}
body .service-detail-section.service-theme--video .section-kicker,
body .service-detail-section.service-theme--video .service-pill-row span,
body .service-detail-section.service-theme--video .service-tags span,
body .service-detail-section.service-theme--video .service-pill,
body .service-detail-section.service-theme--video .service-pill-row a {
  color: #161a1f !important;
  border-color: rgba(27,31,36,.18) !important;
  background: rgba(27,31,36,.06) !important;
}
body .service-detail-section.service-theme--video .service-detail-copy h2,
body .service-detail-section.service-theme--video .service-detail-copy > h2,
body .service-detail-section.service-theme--video .service-checklist li::before,
body .service-detail-section.service-theme--video .service-side-points article h3,
body .service-detail-section.service-theme--video .service-copy strong {
  color: #111418 !important;
}
body .service-detail-section.service-theme--video .service-number,
body .service-detail-section.service-theme--video .service-side-points article::before,
body .service-detail-section.service-theme--video .service-side-points .icon,
body .service-detail-section.service-theme--video .service-feature-icon {
  background: #1b1f24 !important;
  color: #fff !important;
  box-shadow: 0 16px 30px rgba(17,20,24,.22) !important;
}
body .service-detail-section.service-theme--video .btn.btn-primary {
  background: linear-gradient(135deg, #1b1f24 0%, #07090b 100%) !important;
  color:#fff !important;
  border-color: transparent !important;
  box-shadow: 0 18px 36px rgba(17,20,24,.24) !important;
}
body .service-detail-section.service-theme--video .btn.btn-primary:hover,
body .service-detail-section.service-theme--video .btn.btn-primary:focus-visible {
  color:#fff !important;
  box-shadow: 0 20px 40px rgba(17,20,24,.30) !important;
}
body .service-detail-section.service-theme--video .btn.btn-secondary,
body .service-detail-section.service-theme--video .btn.btn-secondary-outline {
  color:#111418 !important;
  border-color: rgba(27,31,36,.18) !important;
  background: rgba(255,255,255,.82) !important;
}
@supports not (color: color-mix(in srgb, red 50%, white)) {
  body .service-detail-section.service-theme--video .service-number,
  body .service-detail-section.service-theme--video .service-side-points article::before,
  body .service-detail-section.service-theme--video .service-side-points .icon,
  body .service-detail-section.service-theme--video .service-feature-icon { box-shadow:0 16px 30px rgba(17,20,24,.22) !important; }
  body .service-detail-section.service-theme--video .service-pill-row span,
  body .service-detail-section.service-theme--video .service-tags span,
  body .service-detail-section.service-theme--video .service-pill { background:#f1f3f5 !important; }
  body .service-detail-section.service-theme--video .btn.btn-primary { box-shadow:0 18px 36px rgba(17,20,24,.24) !important; }
}

/* ===== IT-BALON.CZ v396: mobile fixed header + odstranění horního pruhu ===== */
@media (max-width: 900px) {
  :root {
    --itb-mobile-header-height: 78px;
  }

  html,
  body {
    margin-top: 0 !important;
    overflow-x: hidden !important;
    scroll-padding-top: calc(var(--itb-mobile-header-height) + 10px) !important;
  }

  body {
    padding-top: var(--itb-mobile-header-height) !important;
  }

  body::before,
  .site-shell::before,
  .site-header::before,
  header.site-header::before {
    display: none !important;
    content: none !important;
  }

  .site-shell,
  body .site-shell {
    margin-top: 0 !important;
    padding-top: 0 !important;
    overflow: visible !important;
    transform: none !important;
    contain: none !important;
  }

  .site-header,
  header.site-header,
  .site-header[data-header],
  body .site-header,
  body header.site-header,
  body .site-shell > .site-header,
  body header[data-header] {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: var(--itb-mobile-header-height) !important;
    min-height: var(--itb-mobile-header-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    will-change: auto !important;
    z-index: 2147483000 !important;
    background: rgba(255,255,255,.98) !important;
    border-top: 0 !important;
    border-bottom: 1px solid rgba(11,99,255,.16) !important;
    box-shadow: 0 10px 30px rgba(9,37,86,.10) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
  }

  .site-header .header-inner,
  header.site-header .header-inner,
  body .site-header .header-inner,
  body header.site-header .header-inner {
    height: var(--itb-mobile-header-height) !important;
    min-height: var(--itb-mobile-header-height) !important;
    margin: 0 auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-items: center !important;
  }

  main#main-content,
  body main#main-content,
  body main {
    margin-top: 0 !important;
    padding-top: 0 !important;
    overflow-x: hidden !important;
  }

  .main-nav[data-nav],
  .site-header .main-nav,
  body .main-nav[data-nav],
  body .main-nav {
    position: fixed !important;
    top: calc(var(--itb-mobile-header-height) + 8px) !important;
    left: 14px !important;
    right: 14px !important;
    width: auto !important;
    max-height: calc(100dvh - var(--itb-mobile-header-height) - 24px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    z-index: 2147482999 !important;
  }

  .mobile-support-shortcut,
  .nav-toggle {
    position: relative !important;
    z-index: 2147483001 !important;
  }
}

@media (max-width: 430px) {
  :root {
    --itb-mobile-header-height: 76px;
  }
}

/* ===== IT-BALON.CZ v397: mobile slider -> služby overlap fix ===== */
@media (max-width: 900px) {
  /* Slider/tabs musí být vlastní blok a nesmí pod ně lézt úvodní text služeb. */
  body .itb214-slider {
    position: relative !important;
    z-index: 5 !important;
    overflow: visible !important;
    margin-bottom: 0 !important;
    padding-bottom: 18px !important;
  }

  body .itb214-viewport,
  body .itb214-inner {
    overflow: visible !important;
  }

  body .itb214-tabs {
    position: absolute !important;
    z-index: 80 !important;
    overflow: hidden !important;
  }

  body .itb214-mobile-dots {
    z-index: 85 !important;
  }

  /* Původní negativní margin vytahoval text služeb pod menu slideru. */
  body .itb214-slider + .services-section,
  body .services-section {
    position: relative !important;
    z-index: 1 !important;
    margin-top: 0 !important;
    padding-top: 20px !important;
    padding-bottom: 30px !important;
    background: linear-gradient(180deg, #edf6ff 0%, #f7fbff 42%, #ffffff 100%) !important;
  }

  body .itb214-slider + .services-section::before,
  body .itb214-slider + .services-section::after,
  body .services-section::before,
  body .services-section::after {
    content: none !important;
    display: none !important;
  }

  body .itb214-slider + .services-section .container,
  body .services-section .container {
    padding-top: 0 !important;
  }

  body .itb214-slider + .services-section .home-services-head,
  body .services-section .home-services-head {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body .itb214-slider + .services-section .home-services-head .section-copy,
  body .services-section .home-services-head .section-copy {
    margin-top: 0 !important;
    position: relative !important;
    z-index: 2 !important;
  }
}

@media (max-width: 430px) {
  body .itb214-slider {
    padding-bottom: 20px !important;
  }

  body .itb214-slider + .services-section,
  body .services-section {
    padding-top: 18px !important;
  }
}


/* ===== IT-BALON.CZ v398: tvrdší fix mobilního slideru – další sekce nesmí překrýt spodní tab menu ===== */
@media (max-width: 900px) {
  :root { --itb398-slider-safe-space: 128px; }

  body .itb214-slider {
    position: relative !important;
    z-index: 40 !important;
    isolation: isolate !important;
    overflow: hidden !important;
    min-height: calc(var(--itb214-h) + var(--itb398-slider-safe-space)) !important;
    height: auto !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    background: #edf6ff !important;
  }

  body .itb214-viewport,
  body .itb214-slide {
    min-height: calc(var(--itb214-h) + var(--itb398-slider-safe-space)) !important;
    height: auto !important;
  }

  body .itb214-slide::after {
    height: 430px !important;
  }

  body .itb214-tabs {
    position: absolute !important;
    z-index: 500 !important;
    bottom: 154px !important;
    transform: translateZ(0) !important;
    will-change: auto !important;
  }

  body .itb214-mobile-dots {
    z-index: 510 !important;
    bottom: 310px !important;
    transform: translateX(-50%) translateZ(0) !important;
    will-change: auto !important;
  }

  /* Služby pod sliderem nesmí mít reveal/transform ani negativní odsazení. */
  body .itb214-slider + .services-section,
  body .itb214-slider + .services-section.reveal-section,
  body .itb214-slider + .services-section.is-visible,
  body .services-section {
    position: relative !important;
    z-index: 1 !important;
    margin-top: 0 !important;
    padding-top: 18px !important;
    transform: none !important;
    translate: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: none !important;
    animation: none !important;
    background: linear-gradient(180deg, #edf6ff 0%, #f7fbff 44%, #ffffff 100%) !important;
  }

  body .itb214-slider + .services-section::before,
  body .itb214-slider + .services-section::after,
  body .services-section::before,
  body .services-section::after {
    content: none !important;
    display: none !important;
  }

  body .services-section .container,
  body .services-section .home-services-head,
  body .services-section .home-services-head > *,
  body .services-section .section-copy {
    position: relative !important;
    z-index: 1 !important;
    transform: none !important;
    translate: none !important;
    opacity: 1 !important;
    transition: none !important;
    animation: none !important;
  }
}

@media (max-width: 430px) {
  :root { --itb398-slider-safe-space: 122px; }
  body .itb214-tabs { bottom: 140px !important; }
  body .itb214-mobile-dots { bottom: 294px !important; }
  body .itb214-slider + .services-section,
  body .services-section { padding-top: 16px !important; }
}

@media (max-width: 370px) {
  :root { --itb398-slider-safe-space: 114px; }
  body .itb214-tabs { bottom: 128px !important; }
  body .itb214-mobile-dots { bottom: 276px !important; }
}

/* ===== IT-BALON.CZ v405: mobile slider dots moved higher between CTA/card and tab menu ===== */
@media (max-width: 900px) {
  body .itb214-slider .itb214-mobile-dots,
  body .itb214-mobile-dots {
    bottom: 348px !important;
    z-index: 530 !important;
    transform: translateX(-50%) translateY(-2px) translateZ(0) !important;
  }
}

@media (max-width: 430px) {
  body .itb214-slider .itb214-mobile-dots,
  body .itb214-mobile-dots {
    bottom: 334px !important;
  }
}

@media (max-width: 390px) {
  body .itb214-slider .itb214-mobile-dots,
  body .itb214-mobile-dots {
    bottom: 326px !important;
  }
}

@media (max-width: 370px) {
  body .itb214-slider .itb214-mobile-dots,
  body .itb214-mobile-dots {
    bottom: 310px !important;
  }
}

/* ===== IT-BALON.CZ v406: desktop finishing polish, abstract backgrounds, modal spacing and support hero flow ===== */
:root {
  --itb406-ink: #071a44;
  --itb406-blue: #0b63ff;
  --itb406-blue-soft: rgba(11, 99, 255, 0.14);
  --itb406-cyan-soft: rgba(61, 174, 255, 0.16);
  --itb406-warm-soft: rgba(255, 190, 92, 0.12);
}

@keyframes itb406FadeUp {
  from { opacity: 0; transform: translate3d(0, 18px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes itb406PulseGlow {
  0%, 100% { opacity: .72; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.035); }
}

body .services-hero-v290,
body .references-hero-v290,
body .about-hero-v290,
body .contact-page-main,
body .contact-section,
body .service-theme--network,
body .about-process,
body .about-stack,
body .about-story,
body .creative-section {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

body .services-hero-v290 > .container,
body .references-hero-v290 > .container,
body .about-hero-v290 > .container,
body .contact-page-main > .container,
body .contact-section > .container,
body .service-theme--network > .container,
body .about-process > .container,
body .about-stack > .container,
body .about-story > .container,
body .creative-section > .container {
  position: relative !important;
  z-index: 1 !important;
}

body .services-hero-v290::before,
body .references-hero-v290::before,
body .about-hero-v290::before,
body .contact-page-main::before,
body .contact-section::before,
body .service-theme--network::before,
body .about-process::before,
body .about-stack::before,
body .about-story::before,
body .creative-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 10% 18%, rgba(11, 99, 255, 0.14) 0, rgba(11, 99, 255, 0) 34%),
    radial-gradient(circle at 88% 20%, rgba(78, 194, 255, 0.12) 0, rgba(78, 194, 255, 0) 28%),
    radial-gradient(circle at 72% 86%, rgba(255, 190, 92, 0.10) 0, rgba(255, 190, 92, 0) 26%),
    linear-gradient(180deg, rgba(255,255,255,0.38), rgba(255,255,255,0.08));
  opacity: 1;
  pointer-events: none;
}

body .services-hero-v290::after,
body .references-hero-v290::after,
body .about-hero-v290::after,
body .contact-page-main::after,
body .contact-section::after,
body .service-theme--network::after,
body .about-process::after,
body .about-stack::after,
body .about-story::after,
body .creative-section::after {
  content: "";
  position: absolute;
  inset: auto -10% -18% auto;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(11, 99, 255, 0.15) 0, rgba(11, 99, 255, 0.04) 42%, rgba(11, 99, 255, 0) 72%);
  filter: blur(10px);
  pointer-events: none;
  animation: itb406PulseGlow 10s ease-in-out infinite;
}

body .creative-section {
  padding-top: 18px !important;
}

body .creative-band {
  padding-top: 44px !important;
}

body .creative-band h2,
body .services-hero-v290 h1,
body .references-hero-v290 h1,
body .contact-hero-v290 h1,
body .about-hero-v290 h1,
body .service-detail-copy h2,
body .section-head .section-title,
body .about-stack-card h2,
body .about-stack-card h3 {
  text-wrap: balance;
}

body .services-hero-v290 {
  background: linear-gradient(180deg, rgba(247, 251, 255, .96) 0%, rgba(239, 246, 255, .92) 100%) !important;
}

body .services-hero-v290 .page-hero-grid > *,
body .references-hero-v290 .page-hero-grid > *,
body .about-hero-v290 > .container > *,
body .contact-page-main .section-head,
body .contact-page-main .contact-page-grid,
body .contact-section .contact-split,
body .service-theme--network .service-detail-copy,
body .service-theme--network .service-side {
  animation: itb406FadeUp .72s ease both;
}

body .services-hero-v290 .page-hero-grid > aside,
body .references-hero-v290 .page-hero-grid > aside,
body .contact-page-main .contact-page-grid,
body .service-theme--network .service-side {
  animation-delay: .08s;
}

body .service-detail-section {
  transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease, background .32s ease !important;
}

body .service-detail-section .service-number,
body .service-detail-section .service-pill-row span,
body .service-detail-section .service-checklist li,
body .service-detail-section .service-side-points article,
body .service-detail-section .service-visual,
body .service-detail-section .section-kicker,
body .service-detail-section h2,
body .service-detail-section p {
  transition: transform .28s ease, box-shadow .28s ease, color .28s ease, border-color .28s ease, background .28s ease, opacity .28s ease !important;
}

body .service-detail-section:hover .service-number {
  transform: translateY(-4px) scale(1.04) !important;
  box-shadow: 0 20px 36px rgba(11, 99, 255, 0.16) !important;
}

body .service-detail-section:hover .service-detail-copy h2 {
  transform: translateX(6px) !important;
}

body .service-detail-section:hover .section-kicker {
  color: var(--itb406-blue) !important;
  letter-spacing: .14em !important;
}

body .service-detail-section:hover .service-checklist li,
body .service-detail-section:hover .service-side-points article {
  transform: translateX(4px) !important;
}

body .service-detail-section:hover .service-visual {
  transform: translateY(-5px) scale(1.01) !important;
}

body .service-theme--network {
  background: linear-gradient(180deg, rgba(244, 249, 255, 0.98) 0%, rgba(236, 244, 255, 0.94) 100%) !important;
}

body .service-theme--network::before {
  background:
    radial-gradient(circle at 12% 18%, rgba(11, 99, 255, 0.18) 0, rgba(11, 99, 255, 0) 33%),
    radial-gradient(circle at 84% 24%, rgba(78, 194, 255, 0.14) 0, rgba(78, 194, 255, 0) 30%),
    linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,.04));
}

body .support-ticket-flow {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}

body .support-ticket-flow .flow-line {
  display: none !important;
}

body .support-ticket-flow .flow-step {
  min-width: 0 !important;
  width: auto !important;
  min-height: 148px !important;
  height: 100% !important;
}

body .support-ticket-flow .flow-step small {
  white-space: normal !important;
}

body .references-hero-v290 {
  background: linear-gradient(180deg, rgba(247, 251, 255, 0.98) 0%, rgba(239, 246, 255, 0.92) 100%) !important;
}

body .references-hero-v290::before {
  background:
    radial-gradient(circle at 8% 16%, rgba(11, 99, 255, 0.16) 0, rgba(11, 99, 255, 0) 35%),
    radial-gradient(circle at 80% 18%, rgba(132, 219, 255, 0.14) 0, rgba(132, 219, 255, 0) 32%),
    radial-gradient(circle at 66% 84%, rgba(18, 42, 96, 0.08) 0, rgba(18, 42, 96, 0) 28%),
    linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,.08));
}

body .reference-hero-panel {
  backdrop-filter: blur(8px);
}

body .about-hero-v290,
body .about-process,
body .about-stack,
body .about-story {
  background: linear-gradient(180deg, rgba(247, 251, 255, 0.98) 0%, rgba(239, 246, 255, 0.92) 100%) !important;
}

body .about-think-card,
body .about-process-card,
body .about-value-grid article,
body .about-number-grid article,
body .about-timeline article,
body .about-stack-card {
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease !important;
}

body .about-think-card:hover,
body .about-process-card:hover,
body .about-value-grid article:hover,
body .about-number-grid article:hover,
body .about-timeline article:hover,
body .about-stack-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 26px 54px rgba(24, 39, 75, 0.14) !important;
}

body .contact-page-main {
  padding-top: 10px !important;
  padding-bottom: 46px !important;
  background: linear-gradient(180deg, rgba(246, 250, 255, 0.98) 0%, rgba(239, 246, 255, 0.94) 100%) !important;
}

body .contact-page-main::before,
body .contact-section::before {
  background:
    radial-gradient(circle at 8% 18%, rgba(11, 99, 255, 0.18) 0, rgba(11, 99, 255, 0) 34%),
    radial-gradient(circle at 88% 18%, rgba(158, 223, 255, 0.16) 0, rgba(158, 223, 255, 0) 30%),
    radial-gradient(circle at 52% 90%, rgba(255, 190, 92, 0.10) 0, rgba(255, 190, 92, 0) 26%),
    linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,.08));
}

body .contact-page-form-card--pro,
body .contact-page-map-card,
body .contact-section .cta-card {
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(250,252,255,.92) 100%) !important;
}

body .contact-page-form-card--pro::before,
body .contact-page-map-card::before,
body .contact-section .cta-card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, rgba(11,99,255,.24), rgba(11,99,255,0));
  pointer-events: none;
}

body .contact-section {
  margin-bottom: 0 !important;
  padding-top: 10px !important;
  padding-bottom: 56px !important;
  background: linear-gradient(180deg, rgba(245, 250, 255, .98) 0%, rgba(236, 244, 255, .94) 100%) !important;
}

body .contact-section .cta-card {
  margin-bottom: 0 !important;
}

body .contact-section .contact-side,
body .contact-page-form-card,
body .contact-page-map-card {
  min-height: 100% !important;
}

body .contact-map-preview,
body .contact-page-map-embed {
  border-radius: 24px !important;
  overflow: hidden !important;
}

body .contact-map-preview iframe,
body .contact-page-map-frame,
body .contact-page-map-embed iframe {
  min-height: 318px !important;
}

body .site-footer {
  margin-top: 0 !important;
  background: linear-gradient(135deg, #032a6c 0%, #021c53 44%, #011332 100%) !important;
}

body .itb-contact-modal,
body #portalAccessModal {
  align-items: flex-start !important;
  justify-content: center !important;
  padding: 56px 18px 28px !important;
}

body .itb-contact-modal .itb-modal__dialog,
body .itb-contact-modal .itb-modal__dialog--pro,
body #portalAccessModal .itb-modal__dialog {
  margin: clamp(36px, 8vh, 88px) auto 24px !important;
  max-height: calc(100vh - 120px) !important;
  overflow: auto !important;
}

body .itb-contact-modal .itb-modal__dialog::-webkit-scrollbar,
body #portalAccessModal .itb-modal__dialog::-webkit-scrollbar {
  width: 10px;
}

body .itb-contact-modal .itb-modal__dialog::-webkit-scrollbar-thumb,
body #portalAccessModal .itb-modal__dialog::-webkit-scrollbar-thumb {
  background: rgba(11, 99, 255, 0.22);
  border-radius: 999px;
}

@media (max-width: 1200px) {
  body .support-ticket-flow {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body .support-ticket-flow .flow-step {
    min-height: 136px !important;
  }
}

@media (max-width: 900px) {
  body .creative-band {
    padding-top: 32px !important;
  }

  body .support-ticket-flow {
    grid-template-columns: 1fr !important;
  }

  body .support-ticket-flow .flow-step {
    min-height: auto !important;
  }

  body .itb-contact-modal,
  body #portalAccessModal {
    padding: 20px 12px 16px !important;
  }

  body .itb-contact-modal .itb-modal__dialog,
  body .itb-contact-modal .itb-modal__dialog--pro,
  body #portalAccessModal .itb-modal__dialog {
    margin: 16px auto 12px !important;
    max-height: calc(100vh - 32px) !important;
  }

  body .contact-page-main,
  body .contact-section {
    padding-bottom: 34px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body .services-hero-v290 .page-hero-grid > *,
  body .references-hero-v290 .page-hero-grid > *,
  body .about-hero-v290 > .container > *,
  body .contact-page-main .section-head,
  body .contact-page-main .contact-page-grid,
  body .contact-section .contact-split,
  body .service-theme--network .service-detail-copy,
  body .service-theme--network .service-side,
  body .services-hero-v290::after,
  body .references-hero-v290::after,
  body .about-hero-v290::after,
  body .contact-page-main::after,
  body .contact-section::after,
  body .service-theme--network::after,
  body .about-process::after,
  body .about-stack::after,
  body .about-story::after,
  body .creative-section::after {
    animation: none !important;
  }
}

/* ===== IT-BALON.CZ v407: final desktop contact polish + finishing overrides ===== */
body .contact-section {
  padding-top: 18px !important;
  padding-bottom: 66px !important;
  background:
    radial-gradient(circle at 10% 12%, rgba(11,99,255,.14) 0, rgba(11,99,255,0) 32%),
    radial-gradient(circle at 92% 14%, rgba(83,191,255,.12) 0, rgba(83,191,255,0) 30%),
    radial-gradient(circle at 48% 100%, rgba(255,196,100,.10) 0, rgba(255,196,100,0) 26%),
    linear-gradient(180deg,#f7fbff 0%,#eef6ff 100%) !important;
}

body .contact-section .contact-form-wrap,
body .contact-section .cta-card.contact-form-wrap {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(11,99,255,.11) !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(11,99,255,.09) 0, rgba(11,99,255,0) 32%),
    radial-gradient(circle at 100% 10%, rgba(69,184,255,.09) 0, rgba(69,184,255,0) 28%),
    linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(246,251,255,.92) 100%) !important;
  box-shadow: 0 30px 80px rgba(8, 34, 84, .10) !important;
  border-radius: 36px !important;
  padding: 18px !important;
  margin-bottom: 0 !important;
}

body .contact-section .contact-form-wrap::before,
body .contact-section .cta-card.contact-form-wrap::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg, rgba(11,99,255,.20), rgba(11,99,255,0) 45%, rgba(56,189,248,.16)) top/100% 1px no-repeat,
    linear-gradient(180deg, rgba(255,255,255,.52), rgba(255,255,255,0)) !important;
  z-index: 0 !important;
}

body .contact-section .contact-split {
  position: relative !important;
  z-index: 1 !important;
  gap: 18px !important;
  align-items: stretch !important;
}

body .contact-section .contact-side {
  border-radius: 30px !important;
  border: 1px solid rgba(11,99,255,.13) !important;
  box-shadow: 0 18px 48px rgba(8, 34, 84, .08) !important;
}

body .contact-section .contact-side--info {
  background:
    radial-gradient(circle at 8% 5%, rgba(11,99,255,.08) 0, rgba(11,99,255,0) 35%),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(249,252,255,.90)) !important;
}

body .contact-section .contact-side--form {
  background:
    radial-gradient(circle at 96% 0%, rgba(56,189,248,.08) 0, rgba(56,189,248,0) 32%),
    linear-gradient(180deg, #fff 0%, rgba(255,255,255,.94) 100%) !important;
}

body .contact-section .contact-info-card,
body .contact-section .captcha-card,
body .contact-section .gdpr-card {
  background: rgba(255,255,255,.78) !important;
  border-color: rgba(11,99,255,.13) !important;
  box-shadow: 0 10px 24px rgba(8,34,84,.045) !important;
}

body .contact-section .contact-map-preview {
  border: 1px solid rgba(11,99,255,.16) !important;
  box-shadow: 0 16px 36px rgba(8,34,84,.08) !important;
  background: #fff !important;
}

body .contact-section .form-help {
  color: #607594 !important;
}

body .site-footer {
  position: relative !important;
  margin-top: 0 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 -20px 70px rgba(7, 30, 76, .08) !important;
}

/* Kontakt.php: section Kontakt a mapa - čistší abstraktní plocha */
body .contact-page-main {
  background:
    radial-gradient(circle at 8% 12%, rgba(11,99,255,.14) 0, rgba(11,99,255,0) 32%),
    radial-gradient(circle at 92% 18%, rgba(83,191,255,.14) 0, rgba(83,191,255,0) 30%),
    linear-gradient(180deg, #f7fbff 0%, #edf6ff 100%) !important;
}

body .contact-page-form-card--pro,
body .contact-page-map-card {
  border-color: rgba(11,99,255,.14) !important;
  box-shadow: 0 24px 64px rgba(8,34,84,.10) !important;
}

/* Podpora.php: v hero ukázce roztáhnout 3 workflow karty bez prázdného místa */
body .support-panel--pro .support-ticket-flow {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
}

body .support-panel--pro .support-ticket-flow .flow-line {
  display: none !important;
}

body .support-panel--pro .support-ticket-flow .flow-step {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 150px !important;
  padding: 22px 16px 18px !important;
  box-sizing: border-box !important;
}

body .support-panel--pro .support-ticket-flow .flow-step strong,
body .support-panel--pro .support-ticket-flow .flow-step small {
  white-space: normal !important;
  max-width: none !important;
}

/* Služby / Reference / O nás: výraznější, ale pořád decentní efekty a abstraktní pozadí */
body .services-hero-v290,
body .service-theme--network,
body .references-hero-v290,
body .about-hero-v290,
body .about-stack,
body .about-process,
body .about-story {
  background-blend-mode: normal !important;
}

body .services-hero-v290 .service-hero-panel--compact,
body .references-hero-v290 .reference-hero-panel,
body .about-hero-panel,
body .about-stack-card,
body .service-theme--network .service-side,
body .service-theme--network .service-detail-copy {
  box-shadow: 0 24px 68px rgba(8,34,84,.10) !important;
}

body .service-detail-section .service-side-points article:hover,
body .reference-category-card:hover,
body .case-card:hover,
body .result-card:hover,
body .contact-method-grid article:hover,
body .about-think-card:hover,
body .about-stack-card:hover {
  transform: translateY(-7px) !important;
  box-shadow: 0 28px 62px rgba(8,34,84,.14) !important;
}

body .service-detail-section .service-pill-row span:hover,
body .case-tags span:hover,
body .about-stack-tags span:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(11,99,255,.26) !important;
}

/* Poptávkový modal: nikdy nelepit na horní menu */
body .itb-modal.itb-contact-modal,
body .itb-modal#portalAccessModal {
  padding-top: 96px !important;
}

body .itb-contact-modal .itb-modal__dialog,
body .itb-contact-modal .itb-modal__dialog--pro,
body #portalAccessModal .itb-modal__dialog {
  margin-top: 0 !important;
  max-height: calc(100vh - 124px) !important;
  transform: none !important;
}

@media (max-width: 1100px) {
  body .support-panel--pro .support-ticket-flow {
    grid-template-columns: 1fr !important;
  }
  body .support-panel--pro .support-ticket-flow .flow-step {
    min-height: auto !important;
  }
}

@media (max-width: 900px) {
  body .contact-section .contact-form-wrap,
  body .contact-section .cta-card.contact-form-wrap {
    padding: 12px !important;
    border-radius: 28px !important;
  }
  body .contact-section .contact-side {
    border-radius: 24px !important;
  }
  body .itb-modal.itb-contact-modal,
  body .itb-modal#portalAccessModal {
    padding-top: 78px !important;
  }
  body .itb-contact-modal .itb-modal__dialog,
  body .itb-contact-modal .itb-modal__dialog--pro,
  body #portalAccessModal .itb-modal__dialog {
    max-height: calc(100vh - 92px) !important;
  }
}

/* ===== IT-BALON.CZ v408: pokračování desktop finishe – služby, reference, o nás, kontakt ===== */
@keyframes itb408SoftFloat {
  0%, 100% { transform: translate3d(0,0,0) rotate(0deg); }
  50% { transform: translate3d(0,-10px,0) rotate(1.2deg); }
}
@keyframes itb408CardIn {
  from { opacity: 0; transform: translate3d(0, 22px, 0) scale(.985); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes itb408Shine {
  0% { transform: translateX(-120%) skewX(-16deg); opacity: 0; }
  35% { opacity: .55; }
  100% { transform: translateX(140%) skewX(-16deg); opacity: 0; }
}

/* Služby: první sekce výraznější abstraktní hloubka + živější text/buňky */
body .services-hero-v290 {
  background:
    radial-gradient(circle at 10% 18%, rgba(11,99,255,.18) 0, rgba(11,99,255,0) 34%),
    radial-gradient(circle at 86% 18%, rgba(56,189,248,.16) 0, rgba(56,189,248,0) 30%),
    radial-gradient(circle at 52% 92%, rgba(255,190,92,.10) 0, rgba(255,190,92,0) 28%),
    linear-gradient(180deg, #f7fbff 0%, #eff6ff 100%) !important;
}
body .services-hero-v290::before,
body .services-hero-v290::after,
body .references-hero-v290::before,
body .about-hero-v22::before,
body .about-hero-v290::before,
body .contact-hero-v290::before {
  pointer-events: none !important;
}
body .services-hero-v290 .service-hero-panel--compact,
body .services-hero-v290 .service-hero-grid span,
body .service-detail-section .service-side-points article,
body .service-detail-section .service-visual,
body .service-detail-section .service-pill-row span {
  will-change: transform, box-shadow !important;
}
body .services-hero-v290 .service-hero-grid span {
  position: relative !important;
  overflow: hidden !important;
}
body .services-hero-v290 .service-hero-grid span::after,
body .service-detail-section .service-visual::after,
body .contact-page-form-card--pro::after,
body .contact-page-map-card::after {
  content: "" !important;
  position: absolute !important;
  top: -40% !important;
  left: -45% !important;
  width: 40% !important;
  height: 180% !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
body .services-hero-v290 .service-hero-grid span:hover::after,
body .service-detail-section .service-visual:hover::after,
body .contact-page-form-card--pro:hover::after,
body .contact-page-map-card:hover::after {
  animation: itb408Shine 1.05s ease both !important;
}
body .service-detail-section .service-visual {
  position: relative !important;
  overflow: hidden !important;
}
body .service-detail-section .service-checklist li {
  transition-delay: calc(var(--itb-delay, 0) * 34ms) !important;
}
body .service-detail-section .service-checklist li:nth-child(1) { --itb-delay: 1; }
body .service-detail-section .service-checklist li:nth-child(2) { --itb-delay: 2; }
body .service-detail-section .service-checklist li:nth-child(3) { --itb-delay: 3; }
body .service-detail-section .service-checklist li:nth-child(4) { --itb-delay: 4; }
body .service-detail-section:hover .service-checklist li {
  transform: translateX(6px) !important;
}

/* Sekce 02 Správa sítí & serverů: výraznější abstraktní plocha, ale pořád ve firemním stylu */
body .service-detail-section.service-theme--network {
  background:
    radial-gradient(circle at 7% 16%, rgba(26,112,154,.18) 0, rgba(26,112,154,0) 34%),
    radial-gradient(circle at 88% 18%, rgba(11,99,255,.13) 0, rgba(11,99,255,0) 29%),
    radial-gradient(circle at 60% 92%, rgba(125,211,252,.16) 0, rgba(125,211,252,0) 30%),
    linear-gradient(180deg, #f5fbff 0%, #edf7fc 100%) !important;
}
body .service-detail-section.service-theme--network .service-side,
body .service-detail-section.service-theme--network .service-detail-copy {
  position: relative !important;
}
body .service-detail-section.service-theme--network .service-side::before {
  content: "" !important;
  position: absolute !important;
  inset: -24px -22px auto auto !important;
  width: 180px !important;
  height: 180px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(26,112,154,.18), rgba(26,112,154,0) 70%) !important;
  z-index: -1 !important;
  animation: itb408SoftFloat 9s ease-in-out infinite !important;
}

/* Reference: první hero sekce s prémiovějším abstraktním pozadím */
body .references-hero-v290 {
  background:
    linear-gradient(135deg, rgba(255,255,255,.88), rgba(241,247,255,.88)),
    radial-gradient(circle at 12% 20%, rgba(11,99,255,.18) 0, rgba(11,99,255,0) 34%),
    radial-gradient(circle at 88% 22%, rgba(83,191,255,.16) 0, rgba(83,191,255,0) 30%),
    linear-gradient(180deg, #f7fbff 0%, #eff6ff 100%) !important;
}
body .references-hero-v290 .reference-hero-panel,
body .references-hero-v290 .reference-mini-stats div {
  transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease !important;
}
body .references-hero-v290 .reference-hero-panel:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 30px 72px rgba(8,34,84,.14) !important;
}
body .references-hero-v290 .reference-mini-stats div:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(11,99,255,.24) !important;
}

/* O nás: pokrytí starších i novějších tříd, včetně sekce „Co je pro nás důležité / hodnoty“ */
body .about-hero-v22,
body .about-hero-v290,
body .about-values-section,
body .about-mission-section,
body .about-think-section,
body .about-stack,
body .about-process,
body .about-story {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background:
    radial-gradient(circle at 10% 14%, rgba(11,99,255,.16) 0, rgba(11,99,255,0) 34%),
    radial-gradient(circle at 88% 18%, rgba(83,191,255,.13) 0, rgba(83,191,255,0) 30%),
    linear-gradient(180deg, #f7fbff 0%, #eef6ff 100%) !important;
}
body .about-hero-v22 > .container,
body .about-hero-v290 > .container,
body .about-values-section > .container,
body .about-mission-section > .container,
body .about-think-section > .container,
body .about-stack > .container,
body .about-process > .container,
body .about-story > .container {
  position: relative !important;
  z-index: 1 !important;
}
body .about-hero-v22::after,
body .about-values-section::after,
body .about-mission-section::after,
body .about-think-section::after {
  content: "" !important;
  position: absolute !important;
  right: -90px !important;
  bottom: -120px !important;
  width: 360px !important;
  height: 360px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(11,99,255,.14), rgba(11,99,255,0) 70%) !important;
  animation: itb408SoftFloat 10s ease-in-out infinite !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
body .about-profile-card,
body .about-mission-card,
body .about-metric-stack article,
body .about-value-card,
body .about-values-grid article,
body .about-timeline article,
body .about-scope-grid article,
body .about-think-card,
body .about-stack-card,
body .about-process-card {
  transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease, background .32s ease !important;
}
body .about-profile-card:hover,
body .about-mission-card:hover,
body .about-metric-stack article:hover,
body .about-value-card:hover,
body .about-values-grid article:hover,
body .about-timeline article:hover,
body .about-scope-grid article:hover,
body .about-think-card:hover,
body .about-stack-card:hover,
body .about-process-card:hover {
  transform: translateY(-7px) !important;
  box-shadow: 0 28px 62px rgba(8,34,84,.14) !important;
  border-color: rgba(11,99,255,.22) !important;
}
body .about-value-card h3,
body .about-values-grid h3,
body .about-think-card strong,
body .about-stack-card h2,
body .about-stack-card h3 {
  transition: color .28s ease, transform .28s ease !important;
}
body .about-value-card:hover h3,
body .about-values-grid article:hover h3,
body .about-think-card:hover strong,
body .about-stack-card:hover h2,
body .about-stack-card:hover h3 {
  color: #0b63ff !important;
  transform: translateX(4px) !important;
}

/* Kontakt: „Kontakt a mapa“ ještě čistěji, bez těžkého šedého okraje */
body .contact-page-main,
body .contact-section {
  background:
    radial-gradient(circle at 9% 10%, rgba(11,99,255,.13) 0, rgba(11,99,255,0) 34%),
    radial-gradient(circle at 92% 15%, rgba(83,191,255,.14) 0, rgba(83,191,255,0) 30%),
    linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%) !important;
}
body .contact-page-form-card--pro,
body .contact-page-map-card,
body .contact-section .contact-form-wrap,
body .contact-section .contact-side {
  border-color: rgba(11,99,255,.09) !important;
  box-shadow: 0 24px 62px rgba(8,34,84,.08) !important;
}
body .contact-section .contact-form-wrap {
  background:
    radial-gradient(circle at 4% 0%, rgba(11,99,255,.07) 0, rgba(11,99,255,0) 33%),
    linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(249,252,255,.94) 100%) !important;
}

/* Desktop: modal poptávky držet níže a nelepí se pod sticky menu */
@media (min-width: 901px) {
  body .itb-modal.itb-contact-modal,
  body .itb-modal#portalAccessModal {
    padding-top: 118px !important;
  }
  body .itb-contact-modal .itb-modal__dialog,
  body .itb-contact-modal .itb-modal__dialog--pro,
  body #portalAccessModal .itb-modal__dialog {
    max-height: calc(100vh - 150px) !important;
  }
}

/* Jemné scroll-in efekty tam, kde je prohlížeč umí – fallback je normální zobrazení. */
@supports (animation-timeline: view()) {
  body .service-detail-section .service-detail-copy,
  body .service-detail-section .service-side,
  body .case-card,
  body .reference-category-card,
  body .result-card,
  body .about-value-card,
  body .about-values-grid article,
  body .about-timeline article,
  body .about-scope-grid article,
  body .contact-method-grid article {
    animation: itb408CardIn both ease-out !important;
    animation-timeline: view() !important;
    animation-range: entry 0% cover 28% !important;
  }
}

@media (max-width: 900px) {
  body .about-hero-v22,
  body .about-hero-v290,
  body .about-values-section,
  body .about-mission-section,
  body .about-think-section {
    background-size: auto !important;
  }
  body .service-detail-section:hover .service-detail-copy h2,
  body .about-value-card:hover h3,
  body .about-values-grid article:hover h3 {
    transform: none !important;
  }
}


/* ===== IT-BALON.CZ v409: final homepage spacing, dual brand dark block and contact map alignment ===== */
@media (min-width: 901px) {
  body .services-section {
    padding-bottom: 64px !important;
  }

  body .services-section .home-services-grid,
  body .services-section .cards-grid.home-services-grid {
    margin-bottom: 14px !important;
  }

  body .services-section + .references-strip,
  body .references-strip {
    margin-top: 0 !important;
  }
}

body .dual-brands-section {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background:
    radial-gradient(circle at 10% 8%, rgba(11,99,255,.22), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(84,186,255,.13), transparent 32%),
    linear-gradient(135deg, #071b45 0%, #0a2c68 48%, #071b45 100%) !important;
  color: #fff !important;
  padding-top: 38px !important;
  padding-bottom: 56px !important;
  margin-top: 0 !important;
}

body .dual-brands-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.78), rgba(0,0,0,.16));
  pointer-events: none;
  z-index: 0;
}

body .dual-brands-section::after {
  content: "";
  position: absolute;
  inset: auto -8% -42% auto;
  width: 420px;
  height: 420px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(25,129,255,.32), rgba(25,129,255,.07) 48%, transparent 72%);
  filter: blur(10px);
  pointer-events: none;
  z-index: 0;
}

body .dual-brands-section > .container {
  position: relative !important;
  z-index: 1 !important;
}

body .dual-brands-section .dual-brands-head {
  align-items: end !important;
  transform: none !important;
  margin-bottom: 26px !important;
}

body .dual-brands-section .section-kicker {
  color: #7dbaff !important;
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.16) !important;
}

body .dual-brands-section .section-title,
body .dual-brands-section h2,
body .dual-brands-section .section-copy,
body .dual-brands-section p {
  color: #fff !important;
}

body .dual-brands-section .section-copy {
  color: rgba(235,244,255,.82) !important;
  max-width: 560px !important;
}

body .dual-brand-card {
  background: rgba(255,255,255,.94) !important;
  border-color: rgba(166,198,255,.26) !important;
  box-shadow: 0 24px 60px rgba(0,15,52,.22) !important;
}

body .dual-brand-card p {
  color: #5a6f8f !important;
}

body .dual-brand-card h3 {
  color: #071a44 !important;
}

body .contact-section .contact-map-link {
  display: none !important;
}

body .contact-section .contact-split {
  align-items: stretch !important;
}

body .contact-section .contact-side--info,
body .contact-section .contact-side--form {
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

body .contact-section .contact-map-preview {
  flex: 1 1 auto !important;
  min-height: 286px !important;
  margin-top: 18px !important;
  margin-bottom: 0 !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  border: 1px solid rgba(140,180,255,.28) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.76), 0 18px 44px rgba(13,55,120,.08) !important;
}

body .contact-section .contact-map-preview iframe {
  width: 100% !important;
  height: 100% !important;
  min-height: 286px !important;
}

body .contact-section .contact-map-preview__overlay {
  pointer-events: none !important;
}

body .contact-section .contact-map-preview__button {
  pointer-events: auto !important;
}

@media (max-width: 900px) {
  body .services-section {
    padding-bottom: 38px !important;
  }

  body .dual-brands-section {
    padding-top: 32px !important;
    padding-bottom: 42px !important;
  }

  body .dual-brands-section .dual-brands-head {
    margin-bottom: 18px !important;
  }

  body .contact-section .contact-map-preview {
    min-height: 300px !important;
  }
}


/* ===== IT-BALON.CZ v410: podpora Co portál řeší + o-nas blue card restore ===== */

/* PODPORA: sekce "Co portál řeší" – jedno celistvé tmavší abstraktní pozadí přes celou šířku */
body .support-highlights {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  padding-top: 58px !important;
  padding-bottom: 58px !important;
  background:
    radial-gradient(circle at 10% 18%, rgba(11,99,255,.22) 0, rgba(11,99,255,0) 34%),
    radial-gradient(circle at 86% 20%, rgba(71,184,255,.18) 0, rgba(71,184,255,0) 30%),
    radial-gradient(circle at 70% 92%, rgba(255,190,92,.12) 0, rgba(255,190,92,0) 28%),
    linear-gradient(135deg, #eaf3ff 0%, #dcecff 48%, #eff7ff 100%) !important;
  border-top: 1px solid rgba(11,99,255,.08) !important;
  border-bottom: 1px solid rgba(11,99,255,.08) !important;
}

body .support-highlights::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.36) 0, rgba(255,255,255,.06) 42%, rgba(255,255,255,.22) 100%),
    repeating-linear-gradient(90deg, rgba(11,99,255,.035) 0 1px, transparent 1px 110px),
    repeating-linear-gradient(0deg, rgba(11,99,255,.028) 0 1px, transparent 1px 92px) !important;
  opacity: 1 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

body .support-highlights::after {
  content: "" !important;
  position: absolute !important;
  width: 520px !important;
  height: 520px !important;
  right: -160px !important;
  top: -190px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(11,99,255,.20) 0, rgba(11,99,255,.08) 42%, rgba(11,99,255,0) 72%) !important;
  filter: blur(10px) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

body .support-highlights > .container {
  position: relative !important;
  z-index: 1 !important;
}

body .support-highlights .section-head {
  margin-bottom: 30px !important;
}

body .support-highlights .section-kicker {
  color: #075ee8 !important;
  background: rgba(255,255,255,.62) !important;
  border: 1px solid rgba(11,99,255,.16) !important;
  box-shadow: 0 12px 28px rgba(11,99,255,.08) !important;
}

body .support-highlights .section-title {
  color: #071a44 !important;
}

body .support-highlights .section-copy {
  color: #486384 !important;
}

body .support-highlight-grid {
  position: relative !important;
  z-index: 1 !important;
  gap: 18px !important;
}

body .support-highlight-grid .support-card,
body .support-highlights .support-card {
  background: rgba(255,255,255,.86) !important;
  border: 1px solid rgba(139,178,230,.46) !important;
  box-shadow: 0 22px 54px rgba(24,39,75,.10) !important;
  backdrop-filter: blur(12px) !important;
}

body .support-highlight-grid .support-card:hover,
body .support-highlights .support-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(11,99,255,.28) !important;
  box-shadow: 0 28px 62px rgba(24,39,75,.14) !important;
}

body .support-highlight-grid .support-card span,
body .support-highlights .support-card span {
  background: linear-gradient(135deg, #dbeaff 0%, #eff6ff 100%) !important;
  color: #075ee8 !important;
  box-shadow: 0 12px 26px rgba(11,99,255,.12) !important;
}

/* O NÁS: obnovit čitelný modrý panel u části „Od podpory po automatizované systémy“ */
body .about-stack .about-stack-card,
body .about-stack-card.about-stack-card--main,
body .about-hero-panel.about-hero-panel--blue,
body .about-system-card,
body .about-automation-card,
body .about-panel--blue {
  position: relative !important;
  overflow: hidden !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 84% 16%, rgba(84,174,255,.26) 0, rgba(84,174,255,0) 34%),
    radial-gradient(circle at 14% 86%, rgba(255,255,255,.11) 0, rgba(255,255,255,0) 30%),
    linear-gradient(135deg, #061b49 0%, #0a347f 52%, #0b63ff 100%) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 30px 72px rgba(6,27,73,.24) !important;
}

body .about-stack .about-stack-card::before,
body .about-stack-card.about-stack-card--main::before,
body .about-hero-panel.about-hero-panel--blue::before,
body .about-system-card::before,
body .about-automation-card::before,
body .about-panel--blue::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(110deg, rgba(255,255,255,.16), rgba(255,255,255,0) 44%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.055) 0 1px, transparent 1px 92px) !important;
  pointer-events: none !important;
}

body .about-stack .about-stack-card > *,
body .about-stack-card.about-stack-card--main > *,
body .about-hero-panel.about-hero-panel--blue > *,
body .about-system-card > *,
body .about-automation-card > *,
body .about-panel--blue > * {
  position: relative !important;
  z-index: 1 !important;
}

body .about-stack .about-stack-card h2,
body .about-stack .about-stack-card h3,
body .about-stack .about-stack-card strong,
body .about-stack-card.about-stack-card--main h2,
body .about-stack-card.about-stack-card--main h3,
body .about-hero-panel.about-hero-panel--blue h2,
body .about-hero-panel.about-hero-panel--blue h3,
body .about-system-card h2,
body .about-system-card h3,
body .about-automation-card h2,
body .about-automation-card h3,
body .about-panel--blue h2,
body .about-panel--blue h3 {
  color: #fff !important;
  text-shadow: 0 2px 18px rgba(0,0,0,.14) !important;
}

body .about-stack .about-stack-card p,
body .about-stack .about-stack-card small,
body .about-stack-card.about-stack-card--main p,
body .about-stack-card.about-stack-card--main small,
body .about-hero-panel.about-hero-panel--blue p,
body .about-hero-panel.about-hero-panel--blue small,
body .about-system-card p,
body .about-system-card small,
body .about-automation-card p,
body .about-automation-card small,
body .about-panel--blue p,
body .about-panel--blue small {
  color: rgba(255,255,255,.82) !important;
}

body .about-stack .about-stack-tags span,
body .about-stack-card.about-stack-card--main .about-stack-tags span,
body .about-panel--blue .about-stack-tags span {
  color: #fff !important;
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.22) !important;
}

@media (max-width: 900px) {
  body .support-highlights {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  body .support-highlight-grid {
    gap: 14px !important;
  }
}


/* ===== IT-BALON.CZ v411: continue unfinished desktop polish ===== */

/* Úvod: bezpečná mezera pod kartami služeb a tmavší přechod do následujících bloků */
@media (min-width: 901px) {
  body .services-section,
  body .itb214-slider + .services-section {
    padding-bottom: 34px !important;
  }

  body .services-grid,
  body .service-grid,
  body .services-cards,
  body .home-services-grid {
    margin-bottom: 22px !important;
  }

  body .dual-brands-section {
    background:
      radial-gradient(circle at 16% 12%, rgba(11,99,255,.16), transparent 28%),
      radial-gradient(circle at 88% 18%, rgba(80,185,255,.13), transparent 30%),
      linear-gradient(135deg, #071d48 0%, #0a347a 52%, #07265b 100%) !important;
    color: #fff !important;
    margin-top: 0 !important;
    padding-top: 56px !important;
    padding-bottom: 58px !important;
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
  }

  body .dual-brands-section::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background:
      linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) !important;
    background-size: 54px 54px !important;
    opacity: .55 !important;
    pointer-events: none !important;
  }

  body .dual-brands-section > .container {
    position: relative !important;
    z-index: 1 !important;
  }

  body .dual-brands-section .section-kicker,
  body .dual-brands-section h2,
  body .dual-brands-section .section-title,
  body .dual-brands-section .section-copy,
  body .dual-brands-section p {
    color: #fff !important;
  }

  body .dual-brands-section .section-copy {
    opacity: .88 !important;
  }

  body .dual-brand-card {
    background: rgba(255,255,255,.94) !important;
    border-color: rgba(255,255,255,.22) !important;
    box-shadow: 0 24px 55px rgba(0,0,0,.16) !important;
  }

  body .dual-brand-card p,
  body .dual-brand-card small,
  body .dual-brand-card span {
    color: #5a6f8f !important;
  }

  body .dual-brand-card h3,
  body .dual-brand-card strong {
    color: #071a44 !important;
  }
}

/* Kontakt dole na úvodu: odstranit duplicitní tlačítko a srovnat mapu se sloupcem formuláře */
body .contact-section .contact-map-link {
  display: none !important;
}

body .contact-section .contact-split {
  align-items: stretch !important;
}

body .contact-section .contact-side--info,
body .contact-section .contact-side--form {
  height: auto !important;
  min-height: 100% !important;
}

body .contact-section .contact-side--info {
  display: flex !important;
  flex-direction: column !important;
}

body .contact-section .contact-map-preview {
  flex: 1 1 auto !important;
  min-height: 278px !important;
  margin-top: 18px !important;
  margin-bottom: 0 !important;
  border-radius: 24px !important;
  border: 1px solid rgba(11,99,255,.14) !important;
  background: rgba(255,255,255,.72) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 20px 46px rgba(24,39,75,.08) !important;
}

body .contact-section .contact-map-preview iframe {
  height: 100% !important;
  min-height: 278px !important;
}

@media (min-width: 1100px) {
  body .contact-section .contact-form-wrap,
  body .contact-section .cta-card {
    max-width: 1180px !important;
  }

  body .contact-section .contact-map-preview {
    min-height: 330px !important;
  }

  body .contact-section .contact-side--info {
    padding-bottom: 28px !important;
  }
}

/* Podpora: Co portál řeší - jedno celistvé tmavší pozadí přes celou šířku, bez rozdělení */
body .support-highlights {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background:
    radial-gradient(circle at 12% 10%, rgba(49,132,255,.23), transparent 30%),
    radial-gradient(circle at 88% 16%, rgba(99,204,255,.16), transparent 28%),
    radial-gradient(circle at 70% 86%, rgba(0,27,94,.34), transparent 34%),
    linear-gradient(135deg, #071d48 0%, #0b3476 50%, #071d48 100%) !important;
  color: #fff !important;
}

body .support-highlights::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) !important;
  background-size: 56px 56px !important;
  opacity: .48 !important;
  pointer-events: none !important;
}

body .support-highlights > .container {
  position: relative !important;
  z-index: 1 !important;
}

body .support-highlights .section-kicker,
body .support-highlights h2,
body .support-highlights .section-title,
body .support-highlights .section-copy,
body .support-highlights p {
  color: #fff !important;
}

body .support-highlights .section-copy,
body .support-highlights p {
  opacity: .88 !important;
}

body .support-highlight-grid {
  align-items: stretch !important;
}

body .support-highlight-grid .support-card,
body .support-highlights .support-card {
  background: rgba(255,255,255,.94) !important;
  border-color: rgba(255,255,255,.24) !important;
  box-shadow: 0 24px 58px rgba(0,0,0,.18) !important;
  backdrop-filter: blur(8px) !important;
}

body .support-highlights .support-card h3,
body .support-highlights .support-card strong {
  color: #071a44 !important;
}

body .support-highlights .support-card p,
body .support-highlights .support-card span {
  color: #17335f !important;
  opacity: 1 !important;
}

/* Podpora hero workflow: natvrdo 3 karty bez prázdné mezery v pravé ukázce */
body .support-panel--pro .support-ticket-flow {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
}

body .support-panel--pro .support-ticket-flow .flow-line {
  display: none !important;
}

body .support-panel--pro .support-ticket-flow .flow-step {
  min-width: 0 !important;
  width: auto !important;
  height: 100% !important;
  min-height: 138px !important;
  box-sizing: border-box !important;
}

/* O nás: širší kompatibilita pro starší/nasazené názvy tříd + modré čitelné panely */
body .about-hero-v290,
body .about-hero,
body .about-intro,
body .about-page-hero,
body .about-stack,
body .about-process,
body .about-values,
body .about-important,
body .about-story,
body .about-system,
body .about-automation,
body section[id*="nas"],
body section[id*="dulezite"] {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

body .about-hero-v290::before,
body .about-hero::before,
body .about-intro::before,
body .about-page-hero::before,
body .about-stack::before,
body .about-process::before,
body .about-values::before,
body .about-important::before,
body .about-story::before,
body .about-system::before,
body .about-automation::before,
body section[id*="dulezite"]::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 12% 16%, rgba(11,99,255,.16), transparent 32%),
    radial-gradient(circle at 86% 20%, rgba(90,195,255,.13), transparent 28%),
    linear-gradient(180deg, rgba(247,251,255,.98), rgba(236,244,255,.90)) !important;
  pointer-events: none !important;
}

body .about-hero-v290 > .container,
body .about-hero > .container,
body .about-intro > .container,
body .about-page-hero > .container,
body .about-stack > .container,
body .about-process > .container,
body .about-values > .container,
body .about-important > .container,
body .about-story > .container,
body .about-system > .container,
body .about-automation > .container,
body section[id*="dulezite"] > .container {
  position: relative !important;
  z-index: 1 !important;
}

body .about-stack-card,
body .about-hero-panel,
body .about-system-card,
body .about-automation-card,
body .about-feature-card,
body .about-blue-card,
body .about-story-card,
body .about-process-card.is-blue,
body .about-process-card--blue,
body .about-think-card.is-blue,
body .about-think-card--blue {
  background:
    radial-gradient(circle at 15% 10%, rgba(255,255,255,.18), transparent 30%),
    linear-gradient(135deg, #073178 0%, #0b63ff 100%) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.18) !important;
  box-shadow: 0 26px 62px rgba(11,99,255,.26) !important;
}

body .about-stack-card *,
body .about-hero-panel *,
body .about-system-card *,
body .about-automation-card *,
body .about-feature-card *,
body .about-blue-card *,
body .about-story-card *,
body .about-process-card.is-blue *,
body .about-process-card--blue *,
body .about-think-card.is-blue *,
body .about-think-card--blue * {
  color: inherit !important;
}

body .about-stack-tags span,
body .about-tags span,
body .about-pill,
body .about-chip {
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.22) !important;
  color: #fff !important;
}

/* Reference a služby: ještě jemnější text/box animace bez rozbíjení layoutu */
@media (min-width: 901px) {
  body .reference-hero-panel,
  body .reference-category-card,
  body .case-card,
  body .result-card,
  body .service-side-points article,
  body .service-visual,
  body .service-detail-copy,
  body .contact-method-grid article,
  body .contact-business-grid article {
    will-change: transform !important;
  }

  body .reference-hero-panel:hover,
  body .reference-category-card:hover,
  body .case-card:hover,
  body .result-card:hover,
  body .contact-method-grid article:hover,
  body .contact-business-grid article:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 28px 62px rgba(24,39,75,.14) !important;
  }
}

/* Kontakt stránka: Kontakt a mapa - abstraktní blok a plnější mapa */
body .contact-page-main {
  background:
    radial-gradient(circle at 12% 10%, rgba(11,99,255,.17), transparent 30%),
    radial-gradient(circle at 84% 16%, rgba(92,195,255,.14), transparent 30%),
    linear-gradient(180deg, #f6fbff 0%, #edf5ff 100%) !important;
}

body .contact-page-map-card,
body .contact-page-form-card--pro {
  box-shadow: 0 24px 58px rgba(24,39,75,.10) !important;
}

body .contact-page-map-embed {
  min-height: 420px !important;
}

body .contact-page-map-frame,
body .contact-page-map-embed iframe {
  min-height: 420px !important;
}

/* Poptávkový popup: ještě bezpečnější odstup od sticky headeru */
body .itb-contact-modal,
body #portalAccessModal {
  padding-top: 78px !important;
}

body .itb-contact-modal .itb-modal__dialog,
body .itb-contact-modal .itb-modal__dialog--pro,
body #portalAccessModal .itb-modal__dialog {
  margin-top: 36px !important;
  max-height: calc(100vh - 126px) !important;
}

@media (max-width: 900px) {
  body .dual-brands-section {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  body .support-highlights {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  body .support-panel--pro .support-ticket-flow {
    grid-template-columns: 1fr !important;
  }

  body .contact-page-map-embed,
  body .contact-page-map-frame,
  body .contact-page-map-embed iframe {
    min-height: 340px !important;
  }

  body .itb-contact-modal,
  body #portalAccessModal {
    padding-top: 22px !important;
  }

  body .itb-contact-modal .itb-modal__dialog,
  body .itb-contact-modal .itb-modal__dialog--pro,
  body #portalAccessModal .itb-modal__dialog {
    margin-top: 12px !important;
    max-height: calc(100vh - 34px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body .reference-hero-panel,
  body .reference-category-card,
  body .case-card,
  body .result-card,
  body .service-side-points article,
  body .service-visual,
  body .service-detail-copy,
  body .contact-method-grid article,
  body .contact-business-grid article {
    transition: none !important;
    animation: none !important;
  }
}

/* ===== IT-BALON.CZ v412: O nás / Co umíme propojit – oprava čitelnosti fontů ===== */
/* V předchozí verzi bylo modré pozadí karty obnovené správně, ale některé vedlejší světlé buňky zdědily světlý text. Tady vracíme čitelné barvy jen tam, kde karta není explicitně modrá. */
body .about-stack .about-stack-card:not(.about-stack-card--main):not(.is-blue):not(.about-blue-card),
body .about-hero-panel:not(.about-hero-panel--blue):not(.is-blue):not(.about-blue-card),
body .about-system-card:not(.is-blue):not(.about-blue-card),
body .about-automation-card:not(.is-blue):not(.about-blue-card),
body .about-feature-card:not(.is-blue):not(.about-blue-card),
body .about-story-card:not(.is-blue):not(.about-blue-card),
body .about-process-card:not(.is-blue):not(.about-process-card--blue):not(.about-blue-card),
body .about-think-card:not(.is-blue):not(.about-think-card--blue):not(.about-blue-card) {
  color: #071a44 !important;
  background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(248,251,255,.92) 100%) !important;
  border-color: rgba(139,178,230,.38) !important;
  box-shadow: 0 22px 52px rgba(24,39,75,.10) !important;
}

body .about-stack .about-stack-card:not(.about-stack-card--main):not(.is-blue):not(.about-blue-card) h2,
body .about-stack .about-stack-card:not(.about-stack-card--main):not(.is-blue):not(.about-blue-card) h3,
body .about-stack .about-stack-card:not(.about-stack-card--main):not(.is-blue):not(.about-blue-card) strong,
body .about-hero-panel:not(.about-hero-panel--blue):not(.is-blue):not(.about-blue-card) h2,
body .about-hero-panel:not(.about-hero-panel--blue):not(.is-blue):not(.about-blue-card) h3,
body .about-hero-panel:not(.about-hero-panel--blue):not(.is-blue):not(.about-blue-card) strong,
body .about-feature-card:not(.is-blue):not(.about-blue-card) h2,
body .about-feature-card:not(.is-blue):not(.about-blue-card) h3,
body .about-feature-card:not(.is-blue):not(.about-blue-card) strong,
body .about-story-card:not(.is-blue):not(.about-blue-card) h2,
body .about-story-card:not(.is-blue):not(.about-blue-card) h3,
body .about-story-card:not(.is-blue):not(.about-blue-card) strong,
body .about-process-card:not(.is-blue):not(.about-process-card--blue):not(.about-blue-card) h2,
body .about-process-card:not(.is-blue):not(.about-process-card--blue):not(.about-blue-card) h3,
body .about-process-card:not(.is-blue):not(.about-process-card--blue):not(.about-blue-card) strong,
body .about-think-card:not(.is-blue):not(.about-think-card--blue):not(.about-blue-card) h2,
body .about-think-card:not(.is-blue):not(.about-think-card--blue):not(.about-blue-card) h3,
body .about-think-card:not(.is-blue):not(.about-think-card--blue):not(.about-blue-card) strong {
  color: #071a44 !important;
  text-shadow: none !important;
}

body .about-stack .about-stack-card:not(.about-stack-card--main):not(.is-blue):not(.about-blue-card) p,
body .about-stack .about-stack-card:not(.about-stack-card--main):not(.is-blue):not(.about-blue-card) small,
body .about-hero-panel:not(.about-hero-panel--blue):not(.is-blue):not(.about-blue-card) p,
body .about-hero-panel:not(.about-hero-panel--blue):not(.is-blue):not(.about-blue-card) small,
body .about-feature-card:not(.is-blue):not(.about-blue-card) p,
body .about-feature-card:not(.is-blue):not(.about-blue-card) small,
body .about-story-card:not(.is-blue):not(.about-blue-card) p,
body .about-story-card:not(.is-blue):not(.about-blue-card) small,
body .about-process-card:not(.is-blue):not(.about-process-card--blue):not(.about-blue-card) p,
body .about-process-card:not(.is-blue):not(.about-process-card--blue):not(.about-blue-card) small,
body .about-think-card:not(.is-blue):not(.about-think-card--blue):not(.about-blue-card) p,
body .about-think-card:not(.is-blue):not(.about-think-card--blue):not(.about-blue-card) small {
  color: #526a90 !important;
  opacity: 1 !important;
}

/* Tagy/chipy mimo modrou kartu musí být tmavé a čitelné. V modré kartě zůstávají světlé. */
body .about-stack-tags span,
body .about-tags span,
body .about-pill,
body .about-chip {
  color: #0b2a5b !important;
  background: rgba(255,255,255,.88) !important;
  border-color: rgba(139,178,230,.42) !important;
}

body .about-stack-card.about-stack-card--main .about-stack-tags span,
body .about-stack-card.is-blue .about-stack-tags span,
body .about-blue-card .about-stack-tags span,
body .about-panel--blue .about-stack-tags span,
body .about-hero-panel--blue .about-stack-tags span,
body .about-system-card.is-blue .about-stack-tags span,
body .about-automation-card.is-blue .about-stack-tags span {
  color: #fff !important;
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.24) !important;
}

/* Explicitně modré panely necháváme modré a kontrastní. */
body .about-stack-card.about-stack-card--main,
body .about-stack-card.is-blue,
body .about-blue-card,
body .about-panel--blue,
body .about-hero-panel--blue,
body .about-system-card.is-blue,
body .about-automation-card.is-blue,
body .about-process-card.is-blue,
body .about-process-card--blue,
body .about-think-card.is-blue,
body .about-think-card--blue {
  color: #fff !important;
}

body .about-stack-card.about-stack-card--main h2,
body .about-stack-card.about-stack-card--main h3,
body .about-stack-card.about-stack-card--main strong,
body .about-stack-card.is-blue h2,
body .about-stack-card.is-blue h3,
body .about-stack-card.is-blue strong,
body .about-blue-card h2,
body .about-blue-card h3,
body .about-blue-card strong,
body .about-panel--blue h2,
body .about-panel--blue h3,
body .about-panel--blue strong,
body .about-hero-panel--blue h2,
body .about-hero-panel--blue h3,
body .about-hero-panel--blue strong {
  color: #fff !important;
}

body .about-stack-card.about-stack-card--main p,
body .about-stack-card.about-stack-card--main small,
body .about-stack-card.is-blue p,
body .about-stack-card.is-blue small,
body .about-blue-card p,
body .about-blue-card small,
body .about-panel--blue p,
body .about-panel--blue small,
body .about-hero-panel--blue p,
body .about-hero-panel--blue small {
  color: rgba(255,255,255,.84) !important;
}

/* ===== IT-BALON.CZ v413: další finální desktop polish pass ===== */
:root{
  --itb413-navy:#061a43;
  --itb413-blue:#0969ff;
  --itb413-surface:#f4f8ff;
  --itb413-line:rgba(123,166,224,.32);
}

/* Úvod: karty služeb mají po sobě čistší dojezd, než začne tmavá sekce referencí. */
@media (min-width: 901px){
  body .services-section{
    padding-bottom:58px!important;
  }
  body .services-section + .references-strip,
  body .services-section + .reference-strip,
  body .services-section + .home-reference-section,
  body .services-section + section{
    margin-top:0!important;
  }
  body .services-grid,
  body .services-section .service-card-grid,
  body .services-section .services-card-grid{
    margin-bottom:6px!important;
  }
}

/* Úvod: Dvě značky, jeden tým - tmavší prémiový blok přes celou šířku, ale bez rozbití karet. */
body .dual-brands-section{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 14% 8%, rgba(31,111,255,.26) 0, rgba(31,111,255,0) 28%),
    radial-gradient(circle at 86% 16%, rgba(87,203,255,.16) 0, rgba(87,203,255,0) 30%),
    linear-gradient(135deg,#061a43 0%,#082a68 46%,#0b3e8d 100%)!important;
  color:#fff!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}
body .dual-brands-section::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:72px 72px;
  opacity:.44;
  pointer-events:none;
  z-index:-1;
}
body .dual-brands-section .section-kicker,
body .dual-brands-section .dual-brands-head h2,
body .dual-brands-section .section-title{
  color:#fff!important;
}
body .dual-brands-section .section-copy,
body .dual-brands-section .dual-brands-head p{
  color:rgba(232,241,255,.86)!important;
}
body .dual-brands-section .dual-brand-card{
  background:rgba(255,255,255,.96)!important;
  border-color:rgba(180,207,246,.32)!important;
  box-shadow:0 24px 64px rgba(0,12,45,.22)!important;
}
body .dual-brands-section .dual-brand-card h3,
body .dual-brands-section .dual-brand-card strong{
  color:#061a43!important;
}
body .dual-brands-section .dual-brand-card p{
  color:#526a90!important;
}

/* Podpora: Co portál řeší - jedno celistvé tmavší pozadí bez svislého zlomu. */
body .support-highlights{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 10% 12%, rgba(25,111,255,.26) 0, rgba(25,111,255,0) 28%),
    radial-gradient(circle at 86% 18%, rgba(99,209,255,.16) 0, rgba(99,209,255,0) 32%),
    linear-gradient(135deg,#071a44 0%,#0a2b68 52%,#0e4da8 100%)!important;
  color:#fff!important;
}
body .support-highlights::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:72px 72px;
  opacity:.42;
  pointer-events:none;
}
body .support-highlights > .container{
  position:relative!important;
  z-index:1!important;
}
body .support-highlights .section-kicker,
body .support-highlights .section-title,
body .support-highlights h2{
  color:#fff!important;
}
body .support-highlights .section-copy,
body .support-highlights p{
  color:rgba(232,241,255,.86)!important;
}
body .support-highlights .support-card{
  background:rgba(255,255,255,.95)!important;
  color:#071a44!important;
  border-color:rgba(190,214,248,.40)!important;
  box-shadow:0 28px 70px rgba(0,15,55,.24)!important;
}
body .support-highlights .support-card h3,
body .support-highlights .support-card strong{
  color:#071a44!important;
}
body .support-highlights .support-card p{
  color:#526a90!important;
}
body .support-highlights .support-card span{
  color:#0969ff!important;
  background:#dfeeff!important;
}

/* O nás: Co umíme propojit - opravuje i obecné/alternativní názvy tříd na nasazené stránce. */
body .about-stack,
body .about-connect,
body .about-connect-section,
body .about-systems,
body .about-automation,
body .about-skills,
body .about-what-we-connect{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
}
body .about-stack-card,
body .about-connect-card,
body .about-system-card,
body .about-automation-card,
body .about-skill-card,
body .about-feature-card{
  color:#071a44!important;
}
body .about-stack-card h2,
body .about-stack-card h3,
body .about-stack-card strong,
body .about-connect-card h2,
body .about-connect-card h3,
body .about-connect-card strong,
body .about-system-card h2,
body .about-system-card h3,
body .about-system-card strong,
body .about-automation-card h2,
body .about-automation-card h3,
body .about-automation-card strong,
body .about-skill-card h2,
body .about-skill-card h3,
body .about-skill-card strong,
body .about-feature-card h2,
body .about-feature-card h3,
body .about-feature-card strong{
  color:#071a44!important;
  text-shadow:none!important;
}
body .about-stack-card p,
body .about-stack-card small,
body .about-connect-card p,
body .about-connect-card small,
body .about-system-card p,
body .about-system-card small,
body .about-automation-card p,
body .about-automation-card small,
body .about-skill-card p,
body .about-skill-card small,
body .about-feature-card p,
body .about-feature-card small{
  color:#526a90!important;
  opacity:1!important;
}
body .about-stack-card.about-stack-card--main,
body .about-stack-card.is-blue,
body .about-stack-card.is-dark,
body .about-connect-card.is-blue,
body .about-connect-card.is-dark,
body .about-system-card.is-blue,
body .about-system-card.is-dark,
body .about-automation-card.is-blue,
body .about-automation-card.is-dark,
body .about-blue-card,
body .about-panel--blue,
body .about-panel--dark{
  background:
    radial-gradient(circle at 20% 12%, rgba(69,148,255,.32) 0, rgba(69,148,255,0) 34%),
    linear-gradient(135deg,#08255c 0%,#0b63ff 100%)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.18)!important;
}
body .about-stack-card.about-stack-card--main h2,
body .about-stack-card.about-stack-card--main h3,
body .about-stack-card.about-stack-card--main strong,
body .about-stack-card.is-blue h2,
body .about-stack-card.is-blue h3,
body .about-stack-card.is-blue strong,
body .about-stack-card.is-dark h2,
body .about-stack-card.is-dark h3,
body .about-stack-card.is-dark strong,
body .about-connect-card.is-blue h2,
body .about-connect-card.is-blue h3,
body .about-connect-card.is-blue strong,
body .about-connect-card.is-dark h2,
body .about-connect-card.is-dark h3,
body .about-connect-card.is-dark strong,
body .about-system-card.is-blue h2,
body .about-system-card.is-blue h3,
body .about-system-card.is-blue strong,
body .about-automation-card.is-blue h2,
body .about-automation-card.is-blue h3,
body .about-automation-card.is-blue strong,
body .about-blue-card h2,
body .about-blue-card h3,
body .about-blue-card strong,
body .about-panel--blue h2,
body .about-panel--blue h3,
body .about-panel--blue strong,
body .about-panel--dark h2,
body .about-panel--dark h3,
body .about-panel--dark strong{
  color:#fff!important;
}
body .about-stack-card.about-stack-card--main p,
body .about-stack-card.about-stack-card--main small,
body .about-stack-card.is-blue p,
body .about-stack-card.is-blue small,
body .about-stack-card.is-dark p,
body .about-stack-card.is-dark small,
body .about-connect-card.is-blue p,
body .about-connect-card.is-blue small,
body .about-connect-card.is-dark p,
body .about-connect-card.is-dark small,
body .about-system-card.is-blue p,
body .about-system-card.is-blue small,
body .about-automation-card.is-blue p,
body .about-automation-card.is-blue small,
body .about-blue-card p,
body .about-blue-card small,
body .about-panel--blue p,
body .about-panel--blue small,
body .about-panel--dark p,
body .about-panel--dark small{
  color:rgba(255,255,255,.86)!important;
}

/* Kontakt dole / mapa: odstranění druhého tlačítka a natažení mapy na výšku buňky. */
body .contact-section .contact-map-link{
  display:none!important;
}
body .contact-section .contact-side--info{
  display:flex!important;
  flex-direction:column!important;
}
body .contact-section .contact-map-preview{
  flex:1 1 auto!important;
  min-height:300px!important;
  margin-top:18px!important;
  display:flex!important;
  border-radius:24px!important;
  overflow:hidden!important;
}
body .contact-section .contact-map-preview iframe{
  flex:1 1 auto!important;
  height:auto!important;
  min-height:100%!important;
}
body .contact-section .contact-map-preview__overlay{
  display:flex!important;
}

/* Popup: pojistka, aby modal nikdy nevylezl pod sticky menu ani u vyššího headeru. */
@media (min-width:901px){
  body .itb-contact-modal,
  body #portalAccessModal{
    padding-top:74px!important;
  }
  body .itb-contact-modal .itb-modal__dialog,
  body #portalAccessModal .itb-modal__dialog{
    margin-top:34px!important;
    max-height:calc(100vh - 132px)!important;
  }
}

@media (max-width:900px){
  body .dual-brands-section{
    padding-top:38px!important;
    padding-bottom:40px!important;
  }
  body .support-highlights{
    padding-top:46px!important;
    padding-bottom:48px!important;
  }
  body .contact-section .contact-map-preview{
    min-height:300px!important;
  }
}


/* ===== IT-BALON.CZ v414: continuing unfinished visual polish ===== */

/* Úvod: malá, čistá mezera pod kartami služeb před další sekcí. */
@media (min-width: 901px) {
  body .services-section .home-services-grid,
  body .services-section .cards-grid.six,
  body .home-services-grid {
    margin-bottom: 24px !important;
  }

  body .services-section {
    padding-bottom: 58px !important;
  }

  body .services-section + .portal-section,
  body .services-section + section {
    margin-top: 0 !important;
  }
}

/* Úvod: sekce dvou značek drží tmavší, čitelnější “bridge” mezi bloky. */
@media (min-width: 901px) {
  body .dual-brands-section {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    background:
      radial-gradient(circle at 12% 18%, rgba(42,122,255,.28) 0, rgba(42,122,255,0) 32%),
      radial-gradient(circle at 82% 22%, rgba(105,210,255,.16) 0, rgba(105,210,255,0) 30%),
      linear-gradient(135deg, #071a44 0%, #0a2b68 52%, #061633 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), inset 0 -1px 0 rgba(255,255,255,.08) !important;
  }

  body .dual-brands-section::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background:
      linear-gradient(115deg, rgba(255,255,255,.075), rgba(255,255,255,0) 34%),
      repeating-linear-gradient(135deg, rgba(255,255,255,.045) 0 1px, transparent 1px 18px) !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }

  body .dual-brands-section > .container {
    position: relative !important;
    z-index: 1 !important;
  }

  body .dual-brands-section .section-kicker,
  body .dual-brands-section .section-title,
  body .dual-brands-section h2,
  body .dual-brands-section .section-copy,
  body .dual-brands-section p {
    color: #fff !important;
  }

  body .dual-brands-section .section-copy,
  body .dual-brands-section p {
    color: rgba(255,255,255,.82) !important;
  }

  body .dual-brand-card {
    background: rgba(255,255,255,.94) !important;
    border-color: rgba(255,255,255,.24) !important;
    box-shadow: 0 28px 68px rgba(0,0,0,.18) !important;
  }
}

/* Podpora: Co portál řeší jako jeden jednolitý tmavší pás bez půlení pozadí. */
body .support-highlights {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 8% 14%, rgba(48,126,255,.24) 0, rgba(48,126,255,0) 34%),
    radial-gradient(circle at 88% 28%, rgba(109,211,255,.14) 0, rgba(109,211,255,0) 30%),
    radial-gradient(circle at 52% 110%, rgba(255,198,92,.10) 0, rgba(255,198,92,0) 34%),
    linear-gradient(135deg, #061a43 0%, #0a2b68 52%, #07172f 100%) !important;
}

body .support-highlights::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(115deg, rgba(255,255,255,.075), transparent 36%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.045) 0 1px, transparent 1px 20px) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

body .support-highlights > .container {
  position: relative !important;
  z-index: 1 !important;
}

body .support-highlights .section-kicker,
body .support-highlights .section-title,
body .support-highlights h2,
body .support-highlights .section-copy {
  color: #fff !important;
}

body .support-highlights .section-copy {
  color: rgba(255,255,255,.82) !important;
}

body .support-highlights .support-card {
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  box-shadow: 0 24px 56px rgba(0,0,0,.18) !important;
}

body .support-highlights .support-card h3,
body .support-highlights .support-card strong {
  color: #071a44 !important;
}

body .support-highlights .support-card p,
body .support-highlights .support-card small {
  color: #4e6380 !important;
}

/* Podpora: horní 3 kroky bez prázdné buňky a bez linky, která rozbíjí šířku. */
body .support-hero .support-ticket-flow,
body .support-panel--pro .support-ticket-flow {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

body .support-hero .support-ticket-flow .flow-line,
body .support-panel--pro .support-ticket-flow .flow-line {
  display: none !important;
}

body .support-hero .support-ticket-flow .flow-step,
body .support-panel--pro .support-ticket-flow .flow-step {
  min-width: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 140px !important;
}

/* O nás: Co umíme propojit – tmavé písmo na světlých kartách, bílé jen na modrých/dark panelech. */
body .about-stack-card:not(.is-dark):not(.is-primary):not(.is-blue),
body .about-connect-card:not(.is-dark):not(.is-primary):not(.is-blue),
body .about-system-card:not(.is-dark):not(.is-primary):not(.is-blue),
body .about-skill-card:not(.is-dark):not(.is-primary):not(.is-blue),
body .about-feature-card:not(.is-dark):not(.is-primary):not(.is-blue),
body .about-card:not(.is-dark):not(.is-primary):not(.is-blue) {
  color: #071a44 !important;
}

body .about-stack-card:not(.is-dark):not(.is-primary):not(.is-blue) *,
body .about-connect-card:not(.is-dark):not(.is-primary):not(.is-blue) *,
body .about-system-card:not(.is-dark):not(.is-primary):not(.is-blue) *,
body .about-skill-card:not(.is-dark):not(.is-primary):not(.is-blue) *,
body .about-feature-card:not(.is-dark):not(.is-primary):not(.is-blue) *,
body .about-card:not(.is-dark):not(.is-primary):not(.is-blue) * {
  text-shadow: none !important;
}

body .about-stack-card:not(.is-dark):not(.is-primary):not(.is-blue) h2,
body .about-stack-card:not(.is-dark):not(.is-primary):not(.is-blue) h3,
body .about-stack-card:not(.is-dark):not(.is-primary):not(.is-blue) strong,
body .about-connect-card:not(.is-dark):not(.is-primary):not(.is-blue) h2,
body .about-connect-card:not(.is-dark):not(.is-primary):not(.is-blue) h3,
body .about-connect-card:not(.is-dark):not(.is-primary):not(.is-blue) strong,
body .about-system-card:not(.is-dark):not(.is-primary):not(.is-blue) h2,
body .about-system-card:not(.is-dark):not(.is-primary):not(.is-blue) h3,
body .about-system-card:not(.is-dark):not(.is-primary):not(.is-blue) strong,
body .about-card:not(.is-dark):not(.is-primary):not(.is-blue) h2,
body .about-card:not(.is-dark):not(.is-primary):not(.is-blue) h3,
body .about-card:not(.is-dark):not(.is-primary):not(.is-blue) strong {
  color: #071a44 !important;
}

body .about-stack-card:not(.is-dark):not(.is-primary):not(.is-blue) p,
body .about-stack-card:not(.is-dark):not(.is-primary):not(.is-blue) small,
body .about-connect-card:not(.is-dark):not(.is-primary):not(.is-blue) p,
body .about-connect-card:not(.is-dark):not(.is-primary):not(.is-blue) small,
body .about-system-card:not(.is-dark):not(.is-primary):not(.is-blue) p,
body .about-system-card:not(.is-dark):not(.is-primary):not(.is-blue) small,
body .about-card:not(.is-dark):not(.is-primary):not(.is-blue) p,
body .about-card:not(.is-dark):not(.is-primary):not(.is-blue) small {
  color: #516782 !important;
}

/* Pokud je buňka modrá/tmavá podle stylu, ponechat kontrastní bílé písmo. */
body .about-stack-card.is-dark,
body .about-stack-card.is-primary,
body .about-stack-card.is-blue,
body .about-connect-card.is-dark,
body .about-connect-card.is-primary,
body .about-connect-card.is-blue,
body .about-system-card.is-dark,
body .about-system-card.is-primary,
body .about-system-card.is-blue,
body .about-card.is-dark,
body .about-card.is-primary,
body .about-card.is-blue {
  background: linear-gradient(145deg, #0a3d92 0%, #0b63ff 62%, #4aa3ff 100%) !important;
  color: #fff !important;
}

body .about-stack-card.is-dark *,
body .about-stack-card.is-primary *,
body .about-stack-card.is-blue *,
body .about-connect-card.is-dark *,
body .about-connect-card.is-primary *,
body .about-connect-card.is-blue *,
body .about-system-card.is-dark *,
body .about-system-card.is-primary *,
body .about-system-card.is-blue *,
body .about-card.is-dark *,
body .about-card.is-primary *,
body .about-card.is-blue * {
  color: inherit !important;
}

/* Kontakt dole na úvodu: karta bez těžkého šedého rámu, mapa do výšky sousedního bloku. */
body .contact-section .contact-split {
  align-items: stretch !important;
}

body .contact-section .contact-side--info {
  display: flex !important;
  flex-direction: column !important;
}

body .contact-section .contact-map-preview {
  flex: 1 1 auto !important;
  min-height: 360px !important;
  margin-top: 18px !important;
  border: 1px solid rgba(11, 99, 255, .13) !important;
  box-shadow: 0 22px 46px rgba(24,39,75,.10) !important;
  background: #fff !important;
}

body .contact-section .contact-map-preview iframe {
  height: 100% !important;
  min-height: 360px !important;
}

/* Služby/references: finishing micro interactions. */
body .reference-tabs a,
body .service-anchor-nav a,
body .case-card,
body .reference-category-card,
body .result-card,
body .service-side-points article,
body .contact-method-grid article {
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease, color .28s ease !important;
}

body .reference-tabs a:hover,
body .service-anchor-nav a:hover {
  transform: translateY(-2px) !important;
}

body .case-card:hover,
body .reference-category-card:hover,
body .result-card:hover,
body .contact-method-grid article:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 26px 56px rgba(24,39,75,.13) !important;
}

@media (max-width: 900px) {
  body .support-hero .support-ticket-flow,
  body .support-panel--pro .support-ticket-flow {
    grid-template-columns: 1fr !important;
  }

  body .support-hero .support-ticket-flow .flow-step,
  body .support-panel--pro .support-ticket-flow .flow-step {
    min-height: auto !important;
  }

  body .contact-section .contact-map-preview,
  body .contact-section .contact-map-preview iframe {
    min-height: 300px !important;
  }
}

/* ===== IT-BALON.CZ v415: remaining desktop cleanup / no duplicate map button / final readability polish ===== */

/* Úvod: mezi kartami pod sliderem a další sekcí nechat na desktopu čistý vzduch. */
@media (min-width: 901px) {
  body .itb214-slider + .services-section,
  body .services-section {
    padding-bottom: 56px !important;
    margin-bottom: 18px !important;
  }

  body .services-section + .dual-brands-section,
  body .services-section + section {
    margin-top: 14px !important;
  }
}

/* Úvod: Dvě značky / jeden tým – tmavší jednolitý pás s lepší čitelností. */
body .dual-brands-section {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 8% 14%, rgba(38,121,255,.30) 0, rgba(38,121,255,0) 32%),
    radial-gradient(circle at 86% 22%, rgba(77,196,255,.18) 0, rgba(77,196,255,0) 30%),
    radial-gradient(circle at 52% 112%, rgba(255,195,98,.10) 0, rgba(255,195,98,0) 34%),
    linear-gradient(135deg, #061536 0%, #08265f 50%, #041025 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), inset 0 -1px 0 rgba(255,255,255,.08) !important;
}

body .dual-brands-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(115deg, rgba(255,255,255,.08), transparent 38%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.045) 0 1px, transparent 1px 20px) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

body .dual-brands-section > .container {
  position: relative !important;
  z-index: 1 !important;
}

body .dual-brands-section .section-kicker,
body .dual-brands-section .section-title,
body .dual-brands-section h2 {
  color: #ffffff !important;
}

body .dual-brands-section .section-copy,
body .dual-brands-section p {
  color: rgba(255,255,255,.84) !important;
}

body .dual-brands-section .dual-brand-card {
  background: rgba(255,255,255,.96) !important;
  border-color: rgba(255,255,255,.28) !important;
  box-shadow: 0 28px 70px rgba(0,0,0,.20) !important;
}

body .dual-brands-section .dual-brand-card h3,
body .dual-brands-section .dual-brand-card strong {
  color: #071a44 !important;
}

body .dual-brands-section .dual-brand-card p,
body .dual-brands-section .dual-brand-card small {
  color: #526986 !important;
}

/* Podpora: Co portál řeší – pojistka proti půlení pozadí a světlejším přepisům. */
body .support-highlights {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 9% 16%, rgba(41,126,255,.28) 0, rgba(41,126,255,0) 34%),
    radial-gradient(circle at 88% 24%, rgba(103,210,255,.16) 0, rgba(103,210,255,0) 31%),
    radial-gradient(circle at 58% 112%, rgba(255,198,92,.10) 0, rgba(255,198,92,0) 35%),
    linear-gradient(135deg, #06183d 0%, #092a66 52%, #06152d 100%) !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), inset 0 -1px 0 rgba(255,255,255,.08) !important;
}

body .support-highlights::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(115deg, rgba(255,255,255,.08), transparent 38%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.042) 0 1px, transparent 1px 20px) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

body .support-highlights::after {
  content: "" !important;
  position: absolute !important;
  inset: auto -90px -130px auto !important;
  width: 410px !important;
  height: 410px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(69,161,255,.18) 0, rgba(69,161,255,.05) 42%, transparent 72%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

body .support-highlights > .container,
body .support-highlights .container {
  position: relative !important;
  z-index: 1 !important;
}

body .support-highlights .section-kicker,
body .support-highlights .section-title,
body .support-highlights h2,
body .support-highlights .section-copy {
  color: #fff !important;
}

body .support-highlights .section-copy {
  color: rgba(255,255,255,.84) !important;
}

body .support-highlights .support-highlight-grid {
  background: transparent !important;
}

body .support-highlights .support-card {
  background: rgba(255,255,255,.95) !important;
  border-color: rgba(255,255,255,.28) !important;
  box-shadow: 0 24px 58px rgba(0,0,0,.18) !important;
}

/* O nás: Co umíme propojit – finální pojistka čitelnosti pro modré i světlé panely. */
body .about-stack-card,
body .about-connect-card,
body .about-system-card,
body .about-skill-card,
body .about-feature-card,
body .about-card,
body .about-value-grid article,
body .about-think-card,
body .about-process-card {
  text-shadow: none !important;
}

body .about-stack-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark),
body .about-connect-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark),
body .about-system-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark),
body .about-skill-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark),
body .about-feature-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark),
body .about-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) {
  background: rgba(255,255,255,.95) !important;
  color: #071a44 !important;
}

body .about-stack-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) h2,
body .about-stack-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) h3,
body .about-stack-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) strong,
body .about-connect-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) h2,
body .about-connect-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) h3,
body .about-connect-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) strong,
body .about-system-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) h2,
body .about-system-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) h3,
body .about-system-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) strong,
body .about-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) h2,
body .about-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) h3,
body .about-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) strong {
  color: #071a44 !important;
}

body .about-stack-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) p,
body .about-stack-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) small,
body .about-connect-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) p,
body .about-connect-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) small,
body .about-system-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) p,
body .about-system-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) small,
body .about-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) p,
body .about-card:not(.is-dark):not(.is-primary):not(.is-blue):not(.about-blue-card):not(.about-panel--blue):not(.about-panel--dark) small {
  color: #526986 !important;
}

body .about-stack-card.is-dark,
body .about-stack-card.is-primary,
body .about-stack-card.is-blue,
body .about-stack-card.about-blue-card,
body .about-stack-card.about-panel--blue,
body .about-stack-card.about-panel--dark,
body .about-connect-card.is-dark,
body .about-connect-card.is-primary,
body .about-connect-card.is-blue,
body .about-connect-card.about-blue-card,
body .about-connect-card.about-panel--blue,
body .about-connect-card.about-panel--dark,
body .about-system-card.is-dark,
body .about-system-card.is-primary,
body .about-system-card.is-blue,
body .about-system-card.about-blue-card,
body .about-system-card.about-panel--blue,
body .about-system-card.about-panel--dark,
body .about-card.is-dark,
body .about-card.is-primary,
body .about-card.is-blue,
body .about-card.about-blue-card,
body .about-card.about-panel--blue,
body .about-card.about-panel--dark {
  background: linear-gradient(145deg, #082f77 0%, #0b63ff 62%, #4aa3ff 100%) !important;
  color: #fff !important;
}

body .about-stack-card.is-dark *,
body .about-stack-card.is-primary *,
body .about-stack-card.is-blue *,
body .about-stack-card.about-blue-card *,
body .about-stack-card.about-panel--blue *,
body .about-stack-card.about-panel--dark *,
body .about-connect-card.is-dark *,
body .about-connect-card.is-primary *,
body .about-connect-card.is-blue *,
body .about-connect-card.about-blue-card *,
body .about-connect-card.about-panel--blue *,
body .about-connect-card.about-panel--dark *,
body .about-system-card.is-dark *,
body .about-system-card.is-primary *,
body .about-system-card.is-blue *,
body .about-system-card.about-blue-card *,
body .about-system-card.about-panel--blue *,
body .about-system-card.about-panel--dark *,
body .about-card.is-dark *,
body .about-card.is-primary *,
body .about-card.is-blue *,
body .about-card.about-blue-card *,
body .about-card.about-panel--blue *,
body .about-card.about-panel--dark * {
  color: inherit !important;
}

/* Spodní kontakt na úvodu: odstranit duplicitní mapové tlačítko a dorovnat mapu k formuláři. */
body .contact-section .contact-map-link,
body .contact-section .contact-map-preview__overlay,
body .contact-section .contact-map-preview__button {
  display: none !important;
}

body .contact-section .contact-split {
  align-items: stretch !important;
}

body .contact-section .contact-side--info,
body .contact-section .contact-side--form {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
}

body .contact-section .contact-form-wrap,
body .contact-section .cta-card {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(11,99,255,.10) !important;
  box-shadow: 0 24px 58px rgba(24,39,75,.10) !important;
}

body .contact-section .contact-map-preview {
  flex: 1 1 auto !important;
  min-height: 380px !important;
  height: auto !important;
  margin-top: 18px !important;
  margin-bottom: 0 !important;
  border: 1px solid rgba(11,99,255,.12) !important;
  box-shadow: 0 18px 44px rgba(24,39,75,.10) !important;
  background: #fff !important;
}

body .contact-section .contact-map-preview iframe {
  width: 100% !important;
  height: 100% !important;
  min-height: 380px !important;
  display: block !important;
}

/* Popup: další bezpečná rezerva pod desktopovým sticky menu. */
@media (min-width: 901px) {
  body .itb-contact-modal,
  body #portalAccessModal {
    padding-top: 88px !important;
  }

  body .itb-contact-modal .itb-modal__dialog,
  body #portalAccessModal .itb-modal__dialog {
    margin-top: 28px !important;
    max-height: calc(100vh - 150px) !important;
  }
}

@media (max-width: 900px) {
  body .contact-section .contact-map-preview,
  body .contact-section .contact-map-preview iframe {
    min-height: 310px !important;
  }
}

/* ===== IT-BALON.CZ v416: remaining desktop polish + O nás compatibility hardening ===== */

/* Úvod: jistější a čistá mezera pod slider/service buňkami před další sekcí. */
@media (min-width: 901px) {
  body .itb214-slider + .services-section,
  body .services-section:first-of-type {
    padding-bottom: 34px !important;
    margin-bottom: 14px !important;
  }

  body .services-section + .dual-brands-section,
  body .services-section + section {
    margin-top: 10px !important;
  }
}

/* Dvě značky, jeden tým: ponechat tmavý blok kompaktní a čitelný bez světlých přepisů. */
body .dual-brands-section {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(48,132,255,.32) 0, rgba(48,132,255,0) 34%),
    radial-gradient(circle at 88% 18%, rgba(86,215,255,.20) 0, rgba(86,215,255,0) 32%),
    radial-gradient(circle at 64% 110%, rgba(255,190,92,.13) 0, rgba(255,190,92,0) 36%),
    linear-gradient(135deg, #061739 0%, #08255d 48%, #061229 100%) !important;
}

body .dual-brands-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(115deg, rgba(255,255,255,.09), transparent 38%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 1px, transparent 1px 22px) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

body .dual-brands-section > .container,
body .dual-brands-section .container {
  position: relative !important;
  z-index: 1 !important;
}

/* Podpora: finální pojistka, že Co portál řeší má jedno pozadí přes celou šířku bez vnitřních půlek. */
body .support-highlights,
body section.support-highlights,
body .support-highlights.reveal-section {
  background:
    radial-gradient(circle at 10% 14%, rgba(48,132,255,.30) 0, rgba(48,132,255,0) 36%),
    radial-gradient(circle at 90% 20%, rgba(85,211,255,.18) 0, rgba(85,211,255,0) 34%),
    radial-gradient(circle at 58% 108%, rgba(255,190,92,.10) 0, rgba(255,190,92,0) 38%),
    linear-gradient(135deg, #06183d 0%, #09295f 54%, #06152e 100%) !important;
  background-color: #06183d !important;
  background-size: cover !important;
}

body .support-highlights .section-head,
body .support-highlights .support-highlight-grid,
body .support-highlights .container > * {
  background: transparent !important;
}

body .support-highlights .support-card h3,
body .support-highlights .support-card strong {
  color: #071a44 !important;
}

body .support-highlights .support-card p,
body .support-highlights .support-card small {
  color: #526986 !important;
}

/* O nás: reálné/nasazené třídy z o-nas.php – pozadí sekcí a čitelnost karet. */
body .about-hero-v22,
body .about-hero-v290,
body .about-mission-section,
body .about-values-section,
body .about-timeline-section,
body .about-scope-section,
body .about-cta-section {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
}

body .about-hero-v22,
body .about-hero-v290 {
  background:
    radial-gradient(circle at 10% 18%, rgba(11,99,255,.18) 0, rgba(11,99,255,0) 36%),
    radial-gradient(circle at 86% 20%, rgba(87,202,255,.14) 0, rgba(87,202,255,0) 30%),
    linear-gradient(180deg, #f6fbff 0%, #eef6ff 100%) !important;
}

body .about-values-section,
body .about-scope-section {
  background:
    radial-gradient(circle at 8% 20%, rgba(11,99,255,.13) 0, rgba(11,99,255,0) 35%),
    radial-gradient(circle at 92% 16%, rgba(86,215,255,.12) 0, rgba(86,215,255,0) 32%),
    linear-gradient(180deg, #f5faff 0%, #edf6ff 100%) !important;
}

body .about-mission-section,
body .about-timeline-section {
  background:
    radial-gradient(circle at 13% 16%, rgba(11,99,255,.10) 0, rgba(11,99,255,0) 32%),
    radial-gradient(circle at 84% 90%, rgba(255,190,92,.09) 0, rgba(255,190,92,0) 30%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
}

body .about-hero-v22::before,
body .about-hero-v290::before,
body .about-mission-section::before,
body .about-values-section::before,
body .about-timeline-section::before,
body .about-scope-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(115deg, rgba(255,255,255,.35), transparent 42%),
    repeating-linear-gradient(135deg, rgba(11,99,255,.030) 0 1px, transparent 1px 24px) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

body .about-hero-v22 > .container,
body .about-hero-v290 > .container,
body .about-mission-section > .container,
body .about-values-section > .container,
body .about-timeline-section > .container,
body .about-scope-section > .container,
body .about-cta-section > .container {
  position: relative !important;
  z-index: 1 !important;
}

body .about-profile-card,
body .about-mission-card,
body .about-metric-stack article,
body .about-value-card,
body .about-values-grid article,
body .about-timeline article,
body .about-scope-grid article,
body .about-cta-card {
  position: relative !important;
  background: rgba(255,255,255,.95) !important;
  color: #071a44 !important;
  border: 1px solid rgba(11,99,255,.12) !important;
  box-shadow: 0 22px 54px rgba(24,39,75,.10) !important;
  text-shadow: none !important;
}

body .about-mission-card.about-mission-main,
body .about-scope-grid article:first-child,
body .about-profile-card {
  background: linear-gradient(145deg, #082f77 0%, #0b63ff 64%, #4aa3ff 100%) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.22) !important;
  box-shadow: 0 28px 72px rgba(11,99,255,.26) !important;
}

body .about-profile-card *,
body .about-mission-card.about-mission-main *,
body .about-scope-grid article:first-child * {
  color: inherit !important;
}

body .about-value-card h3,
body .about-values-grid article h3,
body .about-timeline article h3,
body .about-scope-grid article:not(:first-child) h3,
body .about-metric-stack article strong,
body .about-cta-card h2,
body .about-cta-card strong {
  color: #071a44 !important;
}

body .about-value-card p,
body .about-values-grid article p,
body .about-timeline article p,
body .about-scope-grid article:not(:first-child) p,
body .about-metric-stack article span,
body .about-cta-card p,
body .about-cta-card small {
  color: #526986 !important;
}

body .about-scope-grid article:not(:first-child) a {
  color: #0b63ff !important;
}

body .about-hero-tags span,
body .profile-mini span,
body .about-mission-points span,
body .about-scope-grid article:not(:first-child) .scope-num,
body .about-timeline article span,
body .about-value-card .value-icon {
  background: rgba(11,99,255,.10) !important;
  color: #0b63ff !important;
  border-color: rgba(11,99,255,.14) !important;
}

body .about-profile-card .profile-mini span,
body .about-profile-card .profile-contact-mini a,
body .about-mission-main .about-mission-points span,
body .about-scope-grid article:first-child .scope-num,
body .about-scope-grid article:first-child a {
  background: rgba(255,255,255,.16) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.22) !important;
}

body .about-value-card,
body .about-values-grid article,
body .about-timeline article,
body .about-scope-grid article,
body .about-metric-stack article {
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease !important;
}

body .about-value-card:hover,
body .about-values-grid article:hover,
body .about-timeline article:hover,
body .about-scope-grid article:hover,
body .about-metric-stack article:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 28px 62px rgba(24,39,75,.14) !important;
}

/* Kontakt dole na úvodu: mapa vždy dorovnat podle obsahu, ale nepřetahovat přes rozumný limit. */
@media (min-width: 901px) {
  body .contact-section .contact-split {
    display: grid !important;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
    align-items: stretch !important;
  }

  body .contact-section .contact-map-preview {
    min-height: 440px !important;
  }

  body .contact-section .contact-map-preview iframe {
    min-height: 440px !important;
  }
}

/* ===== IT-BALON.CZ v417: O nás / Co umíme propojit – definitivní oprava nečitelného fontu v pravé/světlé buňce ===== */
body .about-stack-grid,
body .about-stack,
body .about-scope-section,
body .about-scope-wrap,
body .about-system-section,
body .about-automation-section,
body .about-connect-section,
body .about-connections-section {
  color: #071a44 !important;
}

/* Všechny světlé panely v části Co umíme propojit drží tmavé písmo – i když nasazená stránka používá jiný název třídy. */
body .about-stack-grid > *:not(.is-blue):not(.is-dark):not(.is-primary):not(.about-stack-card--main):not(.about-panel--blue):not(.about-panel--dark),
body .about-stack .about-stack-card:not(.is-blue):not(.is-dark):not(.is-primary):not(.about-stack-card--main):not(.about-panel--blue):not(.about-panel--dark),
body .about-scope-grid > *:not(.is-blue):not(.is-dark):not(.is-primary):not(.about-panel--blue):not(.about-panel--dark),
body .about-connect-grid > *:not(.is-blue):not(.is-dark):not(.is-primary):not(.about-panel--blue):not(.about-panel--dark),
body .about-connections-grid > *:not(.is-blue):not(.is-dark):not(.is-primary):not(.about-panel--blue):not(.about-panel--dark),
body .about-system-grid > *:not(.is-blue):not(.is-dark):not(.is-primary):not(.about-panel--blue):not(.about-panel--dark),
body .about-automation-grid > *:not(.is-blue):not(.is-dark):not(.is-primary):not(.about-panel--blue):not(.about-panel--dark),
body .about-stack-visual,
body .about-scope-visual,
body .about-connect-visual,
body .about-connections-visual,
body .about-system-map,
body .about-automation-map,
body .about-node-map,
body .about-flow-map,
body .about-link-map,
body .about-dots-card,
body .about-dots-panel {
  background: rgba(255,255,255,.97) !important;
  color: #071a44 !important;
  text-shadow: none !important;
}

body .about-stack-grid > *:not(.is-blue):not(.is-dark):not(.is-primary):not(.about-stack-card--main):not(.about-panel--blue):not(.about-panel--dark) *,
body .about-stack .about-stack-card:not(.is-blue):not(.is-dark):not(.is-primary):not(.about-stack-card--main):not(.about-panel--blue):not(.about-panel--dark) *,
body .about-scope-grid > *:not(.is-blue):not(.is-dark):not(.is-primary):not(.about-panel--blue):not(.about-panel--dark) *,
body .about-connect-grid > *:not(.is-blue):not(.is-dark):not(.is-primary):not(.about-panel--blue):not(.about-panel--dark) *,
body .about-connections-grid > *:not(.is-blue):not(.is-dark):not(.is-primary):not(.about-panel--blue):not(.about-panel--dark) *,
body .about-system-grid > *:not(.is-blue):not(.is-dark):not(.is-primary):not(.about-panel--blue):not(.about-panel--dark) *,
body .about-automation-grid > *:not(.is-blue):not(.is-dark):not(.is-primary):not(.about-panel--blue):not(.about-panel--dark) *,
body .about-stack-visual *,
body .about-scope-visual *,
body .about-connect-visual *,
body .about-connections-visual *,
body .about-system-map *,
body .about-automation-map *,
body .about-node-map *,
body .about-flow-map *,
body .about-link-map *,
body .about-dots-card *,
body .about-dots-panel * {
  color: #071a44 !important;
  -webkit-text-fill-color: #071a44 !important;
  text-shadow: none !important;
}

body .about-stack-grid > *:not(.is-blue):not(.is-dark):not(.is-primary):not(.about-stack-card--main):not(.about-panel--blue):not(.about-panel--dark) p,
body .about-stack-grid > *:not(.is-blue):not(.is-dark):not(.is-primary):not(.about-stack-card--main):not(.about-panel--blue):not(.about-panel--dark) small,
body .about-stack .about-stack-card:not(.is-blue):not(.is-dark):not(.is-primary):not(.about-stack-card--main):not(.about-panel--blue):not(.about-panel--dark) p,
body .about-stack .about-stack-card:not(.is-blue):not(.is-dark):not(.is-primary):not(.about-stack-card--main):not(.about-panel--blue):not(.about-panel--dark) small,
body .about-scope-grid > *:not(.is-blue):not(.is-dark):not(.is-primary):not(.about-panel--blue):not(.about-panel--dark) p,
body .about-scope-grid > *:not(.is-blue):not(.is-dark):not(.is-primary):not(.about-panel--blue):not(.about-panel--dark) small,
body .about-stack-visual p,
body .about-stack-visual small,
body .about-scope-visual p,
body .about-scope-visual small,
body .about-connect-visual p,
body .about-connect-visual small,
body .about-connections-visual p,
body .about-connections-visual small,
body .about-system-map p,
body .about-system-map small,
body .about-automation-map p,
body .about-automation-map small,
body .about-node-map p,
body .about-node-map small,
body .about-flow-map p,
body .about-flow-map small,
body .about-link-map p,
body .about-link-map small {
  color: #526986 !important;
  -webkit-text-fill-color: #526986 !important;
}

/* Modré/tmavé karty zůstávají světlé – selektor je až po opravě světlých panelů, takže nepřepíše hlavní modrou buňku. */
body .about-stack-grid > .is-blue,
body .about-stack-grid > .is-dark,
body .about-stack-grid > .is-primary,
body .about-stack-grid > .about-stack-card--main,
body .about-stack-card.is-blue,
body .about-stack-card.is-dark,
body .about-stack-card.is-primary,
body .about-stack-card.about-stack-card--main,
body .about-panel--blue,
body .about-panel--dark,
body .about-profile-card,
body .about-mission-card.about-mission-main {
  color: #ffffff !important;
}

body .about-stack-grid > .is-blue *,
body .about-stack-grid > .is-dark *,
body .about-stack-grid > .is-primary *,
body .about-stack-grid > .about-stack-card--main *,
body .about-stack-card.is-blue *,
body .about-stack-card.is-dark *,
body .about-stack-card.is-primary *,
body .about-stack-card.about-stack-card--main *,
body .about-panel--blue *,
body .about-panel--dark *,
body .about-profile-card *,
body .about-mission-card.about-mission-main * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Blue dots/node visuals stay blue, but labels next to them are dark on white panels. */
body .about-stack-visual .dot,
body .about-scope-visual .dot,
body .about-connect-visual .dot,
body .about-connections-visual .dot,
body .about-system-map .dot,
body .about-automation-map .dot,
body .about-node-map .dot,
body .about-flow-map .dot,
body .about-link-map .dot,
body .about-stack-visual [class*="dot"],
body .about-scope-visual [class*="dot"],
body .about-connect-visual [class*="dot"],
body .about-connections-visual [class*="dot"],
body .about-system-map [class*="dot"],
body .about-automation-map [class*="dot"],
body .about-node-map [class*="dot"],
body .about-flow-map [class*="dot"],
body .about-link-map [class*="dot"] {
  color: #0b63ff !important;
  -webkit-text-fill-color: #0b63ff !important;
}

/* Další drobné dorovnání nedodělků bez zásahu do HTML. */
@media (min-width: 901px) {
  body .services-section,
  body .services-overview,
  body .homepage-services,
  body .home-services-section {
    padding-bottom: 34px !important;
  }

  body .dual-brands-section,
  body .brand-split-section,
  body .two-brands-section {
    margin-top: 8px !important;
  }

  body .contact-section .contact-map-preview,
  body .contact-section .contact-map-preview iframe {
    min-height: 376px !important;
  }
}

/* ===== IT-BALON.CZ v418: pokračování nedodělků a silnější stabilizační vrstvy ===== */

/* O nás / Co umíme propojit: opraví i fonty a pseudo-popisky v pravé vizuální buňce. */
body .about-stack-visual,
body .about-scope-visual,
body .about-connect-visual,
body .about-connections-visual,
body .about-system-map,
body .about-automation-map,
body .about-node-map,
body .about-flow-map,
body .about-link-map,
body .about-dots-card,
body .about-dots-panel,
body .about-visual-card,
body .about-visual-panel,
body .about-map-card,
body .about-map-panel,
body .about-grid-visual,
body .about-grid-map,
body [class*="about"][class*="visual"],
body [class*="about"][class*="map"],
body [class*="about"][class*="node"],
body [class*="about"][class*="dots"] {
  color: #071a44 !important;
  -webkit-text-fill-color: #071a44 !important;
  text-shadow: none !important;
}

body .about-stack-visual *:not(.dot):not([class*="dot"]):not([class*="node"]),
body .about-scope-visual *:not(.dot):not([class*="dot"]):not([class*="node"]),
body .about-connect-visual *:not(.dot):not([class*="dot"]):not([class*="node"]),
body .about-connections-visual *:not(.dot):not([class*="dot"]):not([class*="node"]),
body .about-system-map *:not(.dot):not([class*="dot"]):not([class*="node"]),
body .about-automation-map *:not(.dot):not([class*="dot"]):not([class*="node"]),
body .about-node-map *:not(.dot):not([class*="dot"]):not([class*="node"]),
body .about-flow-map *:not(.dot):not([class*="dot"]):not([class*="node"]),
body .about-link-map *:not(.dot):not([class*="dot"]):not([class*="node"]),
body .about-dots-card *:not(.dot):not([class*="dot"]):not([class*="node"]),
body .about-dots-panel *:not(.dot):not([class*="dot"]):not([class*="node"]),
body [class*="about"][class*="visual"] *:not(.dot):not([class*="dot"]):not([class*="node"]),
body [class*="about"][class*="map"] *:not(.dot):not([class*="dot"]):not([class*="node"]),
body [class*="about"][class*="dots"] *:not(.dot):not([class*="dot"]):not([class*="node"]) {
  color: #071a44 !important;
  -webkit-text-fill-color: #071a44 !important;
  text-shadow: none !important;
}

body .about-stack-visual *::before,
body .about-stack-visual *::after,
body .about-scope-visual *::before,
body .about-scope-visual *::after,
body .about-connect-visual *::before,
body .about-connect-visual *::after,
body .about-system-map *::before,
body .about-system-map *::after,
body .about-automation-map *::before,
body .about-automation-map *::after,
body .about-node-map *::before,
body .about-node-map *::after,
body .about-flow-map *::before,
body .about-flow-map *::after,
body .about-link-map *::before,
body .about-link-map *::after,
body .about-dots-card *::before,
body .about-dots-card *::after,
body .about-dots-panel *::before,
body .about-dots-panel *::after,
body [class*="about"][class*="visual"] *::before,
body [class*="about"][class*="visual"] *::after,
body [class*="about"][class*="map"] *::before,
body [class*="about"][class*="map"] *::after,
body [class*="about"][class*="dots"] *::before,
body [class*="about"][class*="dots"] *::after {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}

/* Samotné body/uzly zůstávají modré a výrazné. */
body .about-stack-visual .dot,
body .about-scope-visual .dot,
body .about-connect-visual .dot,
body .about-connections-visual .dot,
body .about-system-map .dot,
body .about-automation-map .dot,
body .about-node-map .dot,
body .about-flow-map .dot,
body .about-link-map .dot,
body .about-dots-card .dot,
body .about-dots-panel .dot,
body [class*="about"][class*="visual"] .dot,
body [class*="about"][class*="map"] .dot,
body [class*="about"][class*="dots"] .dot,
body [class*="about"][class*="visual"] [class*="dot"],
body [class*="about"][class*="map"] [class*="dot"],
body [class*="about"][class*="dots"] [class*="dot"] {
  color: #0b63ff !important;
  -webkit-text-fill-color: #0b63ff !important;
  background-color: #0b63ff !important;
  border-color: rgba(11,99,255,.22) !important;
  box-shadow: 0 0 0 8px rgba(11,99,255,.08), 0 10px 24px rgba(11,99,255,.18) !important;
}

/* Když je pravá buňka jen síť teček, dej jí jemnější technický motiv, aby nepůsobila prázdně. */
body .about-stack-visual,
body .about-scope-visual,
body .about-connect-visual,
body .about-connections-visual,
body .about-system-map,
body .about-automation-map,
body .about-node-map,
body .about-flow-map,
body .about-link-map,
body .about-dots-card,
body .about-dots-panel {
  background:
    radial-gradient(circle at 20% 20%, rgba(11,99,255,.10) 0, rgba(11,99,255,0) 22%),
    radial-gradient(circle at 82% 24%, rgba(76,195,255,.09) 0, rgba(76,195,255,0) 26%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,251,255,.95)) !important;
  border: 1px solid rgba(174,202,238,.72) !important;
  box-shadow: 0 28px 70px rgba(24,39,75,.10) !important;
}

/* Podpora / Co portál řeší: jedno stabilní pozadí i při vnořených contejnerech. */
body .support-highlights,
body section.support-highlights,
body .support-highlights.reveal-section {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 12% 12%, rgba(36,118,255,.28) 0, rgba(36,118,255,0) 34%),
    radial-gradient(circle at 86% 26%, rgba(71,190,255,.16) 0, rgba(71,190,255,0) 33%),
    linear-gradient(135deg, #08275e 0%, #0a367d 46%, #061a42 100%) !important;
  color: #ffffff !important;
}
body .support-highlights::before,
body .support-highlights::after {
  content: "" !important;
  position: absolute !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
body .support-highlights::before {
  inset: 0 !important;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) !important;
  background-size: 86px 86px !important;
  opacity: .42 !important;
}
body .support-highlights::after {
  width: 480px !important;
  height: 480px !important;
  right: -160px !important;
  bottom: -190px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(83,190,255,.28), rgba(83,190,255,0) 66%) !important;
  filter: blur(8px) !important;
}
body .support-highlights > .container {
  position: relative !important;
  z-index: 1 !important;
}
body .support-highlights .section-kicker,
body .support-highlights .section-title,
body .support-highlights .section-copy {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
body .support-highlights .section-copy { opacity: .86 !important; }
body .support-highlights .support-card {
  background: rgba(255,255,255,.94) !important;
  color: #071a44 !important;
  border-color: rgba(204,222,246,.78) !important;
  box-shadow: 0 24px 58px rgba(0,15,46,.24) !important;
}
body .support-highlights .support-card h3,
body .support-highlights .support-card strong {
  color: #071a44 !important;
  -webkit-text-fill-color: #071a44 !important;
}
body .support-highlights .support-card p {
  color: #425d80 !important;
  -webkit-text-fill-color: #425d80 !important;
}

/* Úvod: stabilní odsazení služeb od následující tmavé/reference/brand sekce. */
@media (min-width: 901px) {
  body .services-section,
  body .services-overview,
  body .homepage-services,
  body .home-services-section,
  body .services-section.reveal-section {
    padding-bottom: 46px !important;
    margin-bottom: 0 !important;
  }

  body .services-section + section,
  body .services-overview + section,
  body .homepage-services + section,
  body .home-services-section + section {
    margin-top: 0 !important;
  }
}

/* Úvodní kontakt: dorovnání mapy bez druhého tlačítka/overlaye. */
body .contact-section .contact-map-link,
body .contact-section .contact-map-preview__overlay,
body .contact-section .contact-map-preview__button {
  display: none !important;
}
@media (min-width: 901px) {
  body .contact-section .contact-side--info {
    display: flex !important;
    flex-direction: column !important;
  }
  body .contact-section .contact-map-preview {
    flex: 1 1 auto !important;
    min-height: 470px !important;
    margin-top: 20px !important;
  }
  body .contact-section .contact-map-preview iframe {
    height: 100% !important;
    min-height: 470px !important;
  }
}

/* Popup: ještě jistější odstup od sticky menu na desktopu, bez useknutí horní části. */
@media (min-width: 901px) {
  body .itb-contact-modal,
  body #portalAccessModal {
    padding-top: 82px !important;
  }
  body .itb-contact-modal .itb-modal__dialog,
  body .itb-contact-modal .itb-modal__dialog--pro,
  body #portalAccessModal .itb-modal__dialog {
    margin-top: 28px !important;
    max-height: calc(100vh - 116px) !important;
  }
}

/* ===== IT-BALON.CZ v419: pokračování finálních desktop nedodělků ===== */

/* O nás: hodnotové karty a sekce kolem „Co je pro nás důležité“ — jemnější pozadí, jistý kontrast. */
body .about-values,
body .about-value-section,
body .about-principles,
body .about-important,
body .about-think,
body .about-think-section,
body .about-scope,
body .about-scope-section {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 10% 12%, rgba(11,99,255,.14) 0, rgba(11,99,255,0) 34%),
    radial-gradient(circle at 88% 20%, rgba(76,195,255,.12) 0, rgba(76,195,255,0) 30%),
    linear-gradient(180deg, rgba(239,246,255,.98), rgba(247,251,255,.95)) !important;
}

body .about-values > .container,
body .about-value-section > .container,
body .about-principles > .container,
body .about-important > .container,
body .about-think > .container,
body .about-think-section > .container,
body .about-scope > .container,
body .about-scope-section > .container {
  position: relative !important;
  z-index: 1 !important;
}

body .about-think-card,
body .about-value-grid article,
body .about-principles article,
body .about-important article,
body .about-scope article,
body .about-scope-card {
  background: rgba(255,255,255,.95) !important;
  color: #071a44 !important;
  -webkit-text-fill-color: initial !important;
  border: 1px solid rgba(188,213,244,.78) !important;
  box-shadow: 0 22px 54px rgba(24,39,75,.10) !important;
}

body .about-think-card h3,
body .about-value-grid article h3,
body .about-principles article h3,
body .about-important article h3,
body .about-scope article h3,
body .about-scope-card h3,
body .about-think-card strong,
body .about-value-grid article strong,
body .about-principles article strong,
body .about-important article strong,
body .about-scope article strong,
body .about-scope-card strong {
  color: #071a44 !important;
  -webkit-text-fill-color: #071a44 !important;
}

body .about-think-card p,
body .about-value-grid article p,
body .about-principles article p,
body .about-important article p,
body .about-scope article p,
body .about-scope-card p,
body .about-think-card small,
body .about-value-grid article small,
body .about-principles article small,
body .about-important article small,
body .about-scope article small,
body .about-scope-card small {
  color: #506b8e !important;
  -webkit-text-fill-color: #506b8e !important;
}

/* Modré/tmavé about panely smějí mít bílé písmo, ale jen když jsou opravdu tmavé. */
body .about-stack-card.is-dark,
body .about-stack-card.is-blue,
body .about-stack-card--dark,
body .about-stack-card--blue,
body .about-panel.is-dark,
body .about-panel.is-blue,
body .about-card.is-dark,
body .about-card.is-blue {
  background: linear-gradient(135deg, #07307a 0%, #0b63ff 100%) !important;
  color: #fff !important;
}
body .about-stack-card.is-dark *,
body .about-stack-card.is-blue *,
body .about-stack-card--dark *,
body .about-stack-card--blue *,
body .about-panel.is-dark *,
body .about-panel.is-blue *,
body .about-card.is-dark *,
body .about-card.is-blue * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* O nás / pravá mapa propojení: pokud nejsou žádné textové popisky, ať box nepůsobí prázdně. */
body .about-stack-visual::before,
body .about-scope-visual::before,
body .about-connect-visual::before,
body .about-connections-visual::before,
body .about-system-map::before,
body .about-automation-map::before,
body .about-node-map::before,
body .about-flow-map::before,
body .about-link-map::before,
body .about-dots-card::before,
body .about-dots-panel::before {
  content: "" !important;
  position: absolute !important;
  inset: 28px !important;
  border-radius: 30px !important;
  background-image:
    linear-gradient(rgba(11,99,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11,99,255,.07) 1px, transparent 1px) !important;
  background-size: 80px 70px !important;
  opacity: .45 !important;
  pointer-events: none !important;
}

/* Podpora: návaznost sekce „Co portál řeší“ na další sekci bez tvrdého zlomu. */
body .support-highlights {
  padding-top: clamp(72px, 7vw, 104px) !important;
  padding-bottom: clamp(72px, 7vw, 104px) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body .support-highlights + section {
  margin-top: 0 !important;
}
body .support-highlights .support-highlight-grid {
  align-items: stretch !important;
}
body .support-highlights .support-card {
  min-height: 100% !important;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}
body .support-highlights .support-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 30px 68px rgba(0,15,46,.30) !important;
}

/* Služby: přechodové efekty na kartách bez rozhazování layoutu. */
body .service-anchor-nav a,
body .service-detail-section .btn,
body .service-detail-section .service-pill-row span,
body .service-side-points article,
body .service-visual {
  will-change: transform !important;
}
body .service-anchor-nav a:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 34px rgba(11,99,255,.12) !important;
}
body .service-detail-section .btn:hover {
  transform: translateY(-2px) !important;
}
body .service-side-points article:hover {
  border-color: rgba(11,99,255,.28) !important;
}

/* Reference: první hero vizuál a případové studie sjednocené s abstraktním motivem. */
body .references-hero-v290 .reference-hero-panel,
body .case-card,
body .reference-category-card,
body .result-card {
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}
body .references-hero-v290 .reference-hero-panel:hover,
body .case-card:hover,
body .reference-category-card:hover,
body .result-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 28px 62px rgba(24,39,75,.14) !important;
}

/* Kontakt dole: mapa dorovnaná i při různě vysokém textu vlevo. */
@media (min-width: 901px) {
  body .contact-section .contact-split {
    align-items: stretch !important;
  }
  body .contact-section .contact-side--info,
  body .contact-section .contact-side--form {
    height: auto !important;
  }
  body .contact-section .contact-map-preview {
    min-height: 500px !important;
  }
  body .contact-section .contact-map-preview iframe {
    min-height: 500px !important;
  }
}

/* Mobilní pojistky — bez velkých změn layoutu. */
@media (max-width: 900px) {
  body .support-highlights {
    padding-top: 46px !important;
    padding-bottom: 52px !important;
  }
  body .about-stack-visual,
  body .about-scope-visual,
  body .about-connect-visual,
  body .about-connections-visual,
  body .about-system-map,
  body .about-automation-map,
  body .about-node-map,
  body .about-flow-map,
  body .about-link-map,
  body .about-dots-card,
  body .about-dots-panel {
    min-height: 320px !important;
  }
}

/* ===== IT-BALON.CZ v420: final cross-page contrast / spacing / responsive polish ===== */
:root{
  --itb420-ink:#081b45;
  --itb420-muted:#5f7393;
  --itb420-blue:#0b63ff;
  --itb420-deep:#061c46;
  --itb420-panel:#ffffff;
  --itb420-line:rgba(137,174,225,.34);
}

/* Úvod: jistější mezera pod kartami služeb před další sekcí */
body.home .services-section,
body .itb214-slider + .services-section,
body .services-section{
  padding-bottom:clamp(42px,4.8vw,72px)!important;
}
body .services-section + .trust-section,
body .services-section + .reference-strip,
body .services-section + .reference-preview,
body .services-section + section{
  margin-top:0!important;
}

/* Dvě značky / jeden tým: tmavší kontrastní blok bez světlých fleků */
body .dual-brands-section,
body .brand-split-section,
body .two-brands-section,
body .brands-section{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 14% 18%,rgba(25,111,255,.34),transparent 34%),
    radial-gradient(circle at 88% 18%,rgba(46,190,255,.20),transparent 30%),
    linear-gradient(135deg,#061c46 0%,#0a2d6c 52%,#041333 100%)!important;
  color:#fff!important;
}
body .dual-brands-section::before,
body .brand-split-section::before,
body .two-brands-section::before,
body .brands-section::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px)!important;
  background-size:64px 64px!important;
  opacity:.32!important;
  pointer-events:none!important;
  z-index:0!important;
}
body .dual-brands-section > *,
body .brand-split-section > *,
body .two-brands-section > *,
body .brands-section > *{position:relative!important;z-index:1!important;}
body .dual-brands-section h2,
body .dual-brands-section h3,
body .dual-brands-section p,
body .dual-brands-section .section-copy,
body .brand-split-section h2,
body .brand-split-section p,
body .two-brands-section h2,
body .two-brands-section p,
body .brands-section h2,
body .brands-section p{color:#fff!important;}
body .dual-brand-card,
body .brand-card,
body .brand-split-card{
  background:rgba(255,255,255,.96)!important;
  color:var(--itb420-ink)!important;
  border:1px solid rgba(255,255,255,.52)!important;
  box-shadow:0 28px 74px rgba(0,20,65,.18)!important;
}
body .dual-brand-card *,
body .brand-card *,
body .brand-split-card *{color:inherit;}
body .dual-brand-card p,
body .brand-card p,
body .brand-split-card p{color:#5d7190!important;}

/* Podpora: Co portál řeší - jedno celistvé pozadí přes celou šířku */
body .support-highlights,
body .support-highlights.section,
body section.support-highlights{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 12% 18%,rgba(20,108,255,.30),transparent 34%),
    radial-gradient(circle at 92% 26%,rgba(53,200,255,.18),transparent 30%),
    radial-gradient(circle at 55% 110%,rgba(255,190,92,.10),transparent 32%),
    linear-gradient(135deg,#071b43 0%,#0b2d6b 58%,#061533 100%)!important;
  color:#fff!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}
body .support-highlights::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background-image:
    linear-gradient(rgba(255,255,255,.052) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.052) 1px,transparent 1px)!important;
  background-size:72px 72px!important;
  opacity:.42!important;
  pointer-events:none!important;
  z-index:0!important;
}
body .support-highlights::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(255,255,255,.05),transparent 18%,transparent 82%,rgba(255,255,255,.04))!important;
  pointer-events:none!important;
  z-index:0!important;
}
body .support-highlights > .container{position:relative!important;z-index:1!important;}
body .support-highlights .section-kicker,
body .support-highlights .section-title,
body .support-highlights h2,
body .support-highlights .section-copy{color:#fff!important;}
body .support-highlights .section-copy{opacity:.84!important;}
body .support-highlight-grid{align-items:stretch!important;}
body .support-highlight-grid .support-card,
body .support-highlights .support-card{
  min-height:100%!important;
  background:rgba(255,255,255,.96)!important;
  color:var(--itb420-ink)!important;
  border:1px solid rgba(255,255,255,.42)!important;
  box-shadow:0 26px 70px rgba(0,13,48,.24)!important;
}
body .support-highlights .support-card h3,
body .support-highlights .support-card strong{color:var(--itb420-ink)!important;}
body .support-highlights .support-card p{color:#3e5578!important;}

/* O nás: pravá vizuální mapa propojení - text/čitelnost i při starších třídách */
body .about-scope-visual,
body .about-connect-visual,
body .about-connections-visual,
body .about-stack-visual,
body .about-grid-visual,
body .about-visual-panel,
body .about-visual-card,
body .about-map-panel,
body .about-map-card,
body .about-flow-map,
body .about-node-map,
body .about-grid-map,
body .about-link-map,
body .about-system-map,
body .about-automation-map,
body .about-dots-panel,
body .about-dots-card{
  color:var(--itb420-ink)!important;
  background:
    radial-gradient(circle at 18% 18%,rgba(11,99,255,.12),transparent 26%),
    radial-gradient(circle at 84% 28%,rgba(64,196,255,.10),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,251,255,.96))!important;
  border:1px solid rgba(143,180,232,.36)!important;
  box-shadow:0 28px 76px rgba(18,52,111,.12)!important;
}
body .about-scope-visual :where(h2,h3,h4,strong,b,span,p,small,li,em,a),
body .about-connect-visual :where(h2,h3,h4,strong,b,span,p,small,li,em,a),
body .about-connections-visual :where(h2,h3,h4,strong,b,span,p,small,li,em,a),
body .about-stack-visual :where(h2,h3,h4,strong,b,span,p,small,li,em,a),
body .about-grid-visual :where(h2,h3,h4,strong,b,span,p,small,li,em,a),
body .about-visual-panel :where(h2,h3,h4,strong,b,span,p,small,li,em,a),
body .about-visual-card :where(h2,h3,h4,strong,b,span,p,small,li,em,a),
body .about-map-panel :where(h2,h3,h4,strong,b,span,p,small,li,em,a),
body .about-map-card :where(h2,h3,h4,strong,b,span,p,small,li,em,a),
body .about-flow-map :where(h2,h3,h4,strong,b,span,p,small,li,em,a),
body .about-node-map :where(h2,h3,h4,strong,b,span,p,small,li,em,a),
body .about-grid-map :where(h2,h3,h4,strong,b,span,p,small,li,em,a),
body .about-link-map :where(h2,h3,h4,strong,b,span,p,small,li,em,a),
body .about-system-map :where(h2,h3,h4,strong,b,span,p,small,li,em,a),
body .about-automation-map :where(h2,h3,h4,strong,b,span,p,small,li,em,a),
body .about-dots-panel :where(h2,h3,h4,strong,b,span,p,small,li,em,a),
body .about-dots-card :where(h2,h3,h4,strong,b,span,p,small,li,em,a){
  color:var(--itb420-ink)!important;
}
body .about-scope-visual :where(p,small,li),
body .about-connect-visual :where(p,small,li),
body .about-connections-visual :where(p,small,li),
body .about-stack-visual :where(p,small,li),
body .about-grid-visual :where(p,small,li),
body .about-visual-panel :where(p,small,li),
body .about-visual-card :where(p,small,li),
body .about-map-panel :where(p,small,li),
body .about-map-card :where(p,small,li),
body .about-flow-map :where(p,small,li),
body .about-node-map :where(p,small,li),
body .about-grid-map :where(p,small,li),
body .about-link-map :where(p,small,li),
body .about-system-map :where(p,small,li),
body .about-automation-map :where(p,small,li),
body .about-dots-panel :where(p,small,li),
body .about-dots-card :where(p,small,li){
  color:#50698d!important;
}
/* Modré/tmavé about panely si naopak drží bílý text */
body .about-panel--blue,
body .about-panel--dark,
body .about-blue-card,
body .about-hero-panel--blue,
body .about-stack-card--blue,
body .about-stack-card--dark,
body .about-process-card--blue,
body .about-think-card--blue{
  background:linear-gradient(135deg,#0b63ff,#063c9a)!important;
  color:#fff!important;
}
body .about-panel--blue :where(h2,h3,h4,strong,b,span,p,small,li,a),
body .about-panel--dark :where(h2,h3,h4,strong,b,span,p,small,li,a),
body .about-blue-card :where(h2,h3,h4,strong,b,span,p,small,li,a),
body .about-hero-panel--blue :where(h2,h3,h4,strong,b,span,p,small,li,a),
body .about-stack-card--blue :where(h2,h3,h4,strong,b,span,p,small,li,a),
body .about-stack-card--dark :where(h2,h3,h4,strong,b,span,p,small,li,a),
body .about-process-card--blue :where(h2,h3,h4,strong,b,span,p,small,li,a),
body .about-think-card--blue :where(h2,h3,h4,strong,b,span,p,small,li,a){color:#fff!important;}

/* Spodní kontakt: mapa dorovnat a nerušit duplicitním overlay tlačítkem */
body .contact-section .contact-split{align-items:stretch!important;}
body .contact-section .contact-side--info,
body .contact-section .contact-side--form{display:flex!important;flex-direction:column!important;}
body .contact-section .contact-map-link,
body .contact-section .contact-map-preview__overlay{display:none!important;}
body .contact-section .contact-map-preview{flex:1 1 auto!important;min-height:360px!important;margin-top:18px!important;}
body .contact-section .contact-map-preview iframe{height:100%!important;min-height:360px!important;}

/* Jednotné drobné mikrointerakce napříč zbývajícími kartami */
body .case-card,
body .reference-category-card,
body .result-card,
body .contact-method-grid article,
body .service-side-points article,
body .service-visual,
body .about-card,
body .about-feature-card,
body .about-value-card,
body .about-skill-card,
body .about-system-card,
body .about-connect-card,
body .about-scope-card,
body .about-automation-card,
body .about-mission-card{
  transform:translateZ(0);
  backface-visibility:hidden;
}
body .case-card:hover,
body .reference-category-card:hover,
body .result-card:hover,
body .contact-method-grid article:hover,
body .service-side-points article:hover,
body .service-visual:hover,
body .about-card:hover,
body .about-feature-card:hover,
body .about-value-card:hover,
body .about-skill-card:hover,
body .about-system-card:hover,
body .about-connect-card:hover,
body .about-scope-card:hover,
body .about-automation-card:hover,
body .about-mission-card:hover{
  border-color:rgba(11,99,255,.28)!important;
}

@media (max-width:900px){
  body .services-section{padding-bottom:36px!important;}
  body .contact-section .contact-map-preview,
  body .contact-section .contact-map-preview iframe{min-height:300px!important;}
  body .support-highlights{padding-top:48px!important;padding-bottom:48px!important;}
}

/* ===== IT-BALON.CZ v421: pokračování finálního desktop polish + pevná oprava fontů v O nás mapě propojení ===== */

/* O nás / Co umíme propojit: opravuje i node/label prvky, které v předchozí vrstvě mohly zůstat bílé na bílém. */
body .about-stack-visual,
body .about-scope-visual,
body .about-connect-visual,
body .about-connections-visual,
body .about-system-map,
body .about-automation-map,
body .about-node-map,
body .about-flow-map,
body .about-link-map,
body .about-dots-card,
body .about-dots-panel,
body [class*="about"][class*="visual"],
body [class*="about"][class*="map"] {
  color:#071a44 !important;
  -webkit-text-fill-color:#071a44 !important;
  text-shadow:none !important;
  opacity:1 !important;
  visibility:visible !important;
}

body .about-stack-visual :where(h2,h3,h4,strong,b,p,small,span,li,a,em,div),
body .about-scope-visual :where(h2,h3,h4,strong,b,p,small,span,li,a,em,div),
body .about-connect-visual :where(h2,h3,h4,strong,b,p,small,span,li,a,em,div),
body .about-connections-visual :where(h2,h3,h4,strong,b,p,small,span,li,a,em,div),
body .about-system-map :where(h2,h3,h4,strong,b,p,small,span,li,a,em,div),
body .about-automation-map :where(h2,h3,h4,strong,b,p,small,span,li,a,em,div),
body .about-node-map :where(h2,h3,h4,strong,b,p,small,span,li,a,em,div),
body .about-flow-map :where(h2,h3,h4,strong,b,p,small,span,li,a,em,div),
body .about-link-map :where(h2,h3,h4,strong,b,p,small,span,li,a,em,div),
body .about-dots-card :where(h2,h3,h4,strong,b,p,small,span,li,a,em,div),
body .about-dots-panel :where(h2,h3,h4,strong,b,p,small,span,li,a,em,div),
body [class*="about"][class*="visual"] :where(h2,h3,h4,strong,b,p,small,span,li,a,em,div),
body [class*="about"][class*="map"] :where(h2,h3,h4,strong,b,p,small,span,li,a,em,div) {
  color:#071a44 !important;
  -webkit-text-fill-color:#071a44 !important;
  text-shadow:none !important;
  opacity:1 !important;
  visibility:visible !important;
  mix-blend-mode:normal !important;
}

body .about-stack-visual :where(p,small,li),
body .about-scope-visual :where(p,small,li),
body .about-connect-visual :where(p,small,li),
body .about-connections-visual :where(p,small,li),
body .about-system-map :where(p,small,li),
body .about-automation-map :where(p,small,li),
body .about-node-map :where(p,small,li),
body .about-flow-map :where(p,small,li),
body .about-link-map :where(p,small,li),
body .about-dots-card :where(p,small,li),
body .about-dots-panel :where(p,small,li) {
  color:#4d668a !important;
  -webkit-text-fill-color:#4d668a !important;
}

/* Textové node/label prvky: tmavé. Samotné tečky zůstávají modré níže. */
body .about-stack-visual [class*="node"]:not([class*="dot"]),
body .about-scope-visual [class*="node"]:not([class*="dot"]),
body .about-connect-visual [class*="node"]:not([class*="dot"]),
body .about-connections-visual [class*="node"]:not([class*="dot"]),
body .about-system-map [class*="node"]:not([class*="dot"]),
body .about-automation-map [class*="node"]:not([class*="dot"]),
body .about-node-map [class*="node"]:not([class*="dot"]),
body .about-flow-map [class*="node"]:not([class*="dot"]),
body .about-link-map [class*="node"]:not([class*="dot"]),
body [class*="about"][class*="visual"] [class*="node"]:not([class*="dot"]),
body [class*="about"][class*="map"] [class*="node"]:not([class*="dot"]),
body [class*="about"][class*="visual"] [class*="label"],
body [class*="about"][class*="map"] [class*="label"] {
  color:#071a44 !important;
  -webkit-text-fill-color:#071a44 !important;
  text-shadow:none !important;
  opacity:1 !important;
  visibility:visible !important;
}

body .about-stack-visual [class*="node"]:not([class*="dot"]) *,
body .about-scope-visual [class*="node"]:not([class*="dot"]) *,
body [class*="about"][class*="visual"] [class*="node"]:not([class*="dot"]) *,
body [class*="about"][class*="map"] [class*="node"]:not([class*="dot"]) *,
body [class*="about"][class*="visual"] [class*="label"] *,
body [class*="about"][class*="map"] [class*="label"] * {
  color:#071a44 !important;
  -webkit-text-fill-color:#071a44 !important;
}

/* Tečky/uzly ponechat modré – ale už jen vizuální tečkové elementy, ne celý label. */
body .about-stack-visual .dot,
body .about-scope-visual .dot,
body .about-connect-visual .dot,
body .about-connections-visual .dot,
body .about-system-map .dot,
body .about-automation-map .dot,
body .about-node-map .dot,
body .about-flow-map .dot,
body .about-link-map .dot,
body .about-dots-card .dot,
body .about-dots-panel .dot,
body [class*="about"][class*="visual"] [class="dot"],
body [class*="about"][class*="map"] [class="dot"],
body [class*="about"][class*="dots"] [class="dot"] {
  color:#0b63ff !important;
  -webkit-text-fill-color:#0b63ff !important;
  background:#0b63ff !important;
  border-color:rgba(11,99,255,.30) !important;
}

/* Pokud pravý panel nemá textové popisky, přidat mu jemnější technologickou kresbu, aby nepůsobil jako prázdný bílý blok. */
body .about-stack-visual,
body .about-scope-visual,
body .about-connect-visual,
body .about-connections-visual,
body .about-system-map,
body .about-automation-map,
body .about-node-map,
body .about-flow-map,
body .about-link-map,
body .about-dots-card,
body .about-dots-panel {
  position:relative !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 14% 16%, rgba(11,99,255,.13) 0, rgba(11,99,255,0) 28%),
    radial-gradient(circle at 84% 22%, rgba(83,190,255,.12) 0, rgba(83,190,255,0) 26%),
    radial-gradient(circle at 56% 92%, rgba(255,190,92,.08) 0, rgba(255,190,92,0) 26%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,251,255,.96)) !important;
}

body .about-stack-visual::after,
body .about-scope-visual::after,
body .about-connect-visual::after,
body .about-connections-visual::after,
body .about-system-map::after,
body .about-automation-map::after,
body .about-node-map::after,
body .about-flow-map::after,
body .about-link-map::after,
body .about-dots-card::after,
body .about-dots-panel::after {
  content:"" !important;
  position:absolute !important;
  inset:34px !important;
  border-radius:28px !important;
  background:
    linear-gradient(90deg, transparent 0 16%, rgba(11,99,255,.10) 16.2% 16.6%, transparent 16.8% 49%, rgba(11,99,255,.08) 49.2% 49.6%, transparent 49.8% 82%, rgba(11,99,255,.08) 82.2% 82.6%, transparent 82.8%),
    linear-gradient(180deg, transparent 0 16%, rgba(11,99,255,.09) 16.2% 16.6%, transparent 16.8% 49%, rgba(11,99,255,.07) 49.2% 49.6%, transparent 49.8% 82%, rgba(11,99,255,.07) 82.2% 82.6%, transparent 82.8%) !important;
  opacity:.42 !important;
  pointer-events:none !important;
  z-index:0 !important;
}

body .about-stack-visual > *,
body .about-scope-visual > *,
body .about-connect-visual > *,
body .about-connections-visual > *,
body .about-system-map > *,
body .about-automation-map > *,
body .about-node-map > *,
body .about-flow-map > *,
body .about-link-map > *,
body .about-dots-card > *,
body .about-dots-panel > * {
  position:relative !important;
  z-index:1 !important;
}

/* Podpora / Co portál řeší: ještě hladší přechod a sjednocení odstupů. */
body .support-highlights {
  border-top:1px solid rgba(255,255,255,.08) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
body .support-highlights .section-head {
  margin-bottom:34px !important;
}
body .support-highlights .support-highlight-grid {
  gap:18px !important;
}
body .support-highlights .support-card {
  border-radius:24px !important;
}

/* Úvod: bezpečné odsazení mezi službami, brand blokem a další sekcí bez velkého skoku. */
@media (min-width:901px){
  body .services-section{padding-bottom:54px!important;}
  body .services-section + .references-preview,
  body .services-section + .reference-preview,
  body .services-section + .dual-brands-section,
  body .services-section + .brand-split-section,
  body .services-section + .two-brands-section{margin-top:0!important;}

  body .dual-brands-section,
  body .brand-split-section,
  body .two-brands-section{
    padding-top:64px!important;
    padding-bottom:64px!important;
  }
}

/* Spodní kontakt: mapa drží výšku i při různém množství textu vlevo. */
@media (min-width:901px){
  body .contact-section .contact-side--info{min-height:100%!important;}
  body .contact-section .contact-map-preview{min-height:520px!important;}
  body .contact-section .contact-map-preview iframe{min-height:520px!important;}
}

/* ===== IT-BALON.CZ v422: homepage brand/contact polish + hero abstract backgrounds ===== */

/* Úvod – dvě značky: jednotnější typography, menší názvy a abstraktní pozadí sekce. */
body .dual-brands-section {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  padding-top: clamp(34px, 5vw, 58px) !important;
  padding-bottom: clamp(40px, 5vw, 64px) !important;
  background:
    radial-gradient(circle at 14% 18%, rgba(11,99,255,.14) 0, rgba(11,99,255,0) 30%),
    radial-gradient(circle at 84% 24%, rgba(85,211,255,.12) 0, rgba(85,211,255,0) 32%),
    linear-gradient(180deg, #eef5ff 0%, #e6f0fd 52%, #edf5ff 100%) !important;
}
body .dual-brands-section::before,
body .dual-brands-section::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}
body .dual-brands-section::before {
  z-index: 0 !important;
  background:
    linear-gradient(120deg, rgba(255,255,255,.22), transparent 38%),
    repeating-linear-gradient(135deg, rgba(11,99,255,.045) 0 1px, transparent 1px 26px) !important;
  opacity: .8 !important;
}
body .dual-brands-section::after {
  z-index: 0 !important;
  background:
    radial-gradient(circle at 70% 116%, rgba(255,196,125,.16) 0, rgba(255,196,125,0) 36%),
    radial-gradient(circle at 102% 4%, rgba(73,171,255,.18) 0, rgba(73,171,255,0) 28%) !important;
}
body .dual-brands-section > .container,
body .dual-brands-section .container,
body .dual-brands-section .dual-brands-head,
body .dual-brands-section .dual-brand-grid,
body .dual-brands-section .dual-brand-card {
  position: relative !important;
  z-index: 1 !important;
}
body .dual-brands-head .section-title {
  font-size: clamp(1.85rem, 2.4vw, 2.7rem) !important;
}
body .dual-brands-head .section-copy {
  max-width: 760px !important;
}
body .dual-brand-card {
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(167,193,230,.50) !important;
  box-shadow: 0 24px 48px rgba(24,39,75,.08) !important;
}
body .dual-brand-copy h3,
body .dual-brand-title {
  font-family: inherit !important;
  font-size: clamp(1.95rem, 2.1vw, 2.5rem) !important;
  font-weight: 700 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.035em !important;
  margin-bottom: 10px !important;
}
body .dual-brand-copy p {
  font-size: 1.05rem !important;
  line-height: 1.55 !important;
}
@media (max-width: 900px) {
  body .dual-brands-section {
    padding-top: 28px !important;
    padding-bottom: 34px !important;
  }
  body .dual-brand-copy h3,
  body .dual-brand-title {
    font-size: clamp(1.65rem, 6.2vw, 2rem) !important;
  }
}

/* Úvod – spodní kontaktní blok: doplněný nadpis v pravém sloupci + větší a čistší layout. */
body .contact-section .contact-split {
  align-items: stretch !important;
}
body .contact-side--form {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}
body .contact-form-intro {
  margin: 0 0 18px !important;
}
body .contact-form-intro .badge {
  margin-bottom: 12px !important;
}
body .contact-form-intro .section-title {
  margin: 0 0 10px !important;
}
body .contact-form-intro .section-copy {
  margin: 0 !important;
  max-width: 60ch !important;
}
body .contact-section .contact-map-preview,
body .contact-section .contact-map-preview iframe {
  min-height: 420px !important;
}
@media (max-width: 900px) {
  body .contact-form-intro {
    margin-bottom: 14px !important;
  }
  body .contact-section .contact-map-preview,
  body .contact-section .contact-map-preview iframe {
    min-height: 330px !important;
  }
}

/* První hero sekce: jemné abstraktní pruhy/čáry pro služby, podporu, reference a o nás. */
body .services-hero-v270,
body .services-hero-v290,
body .support-hero,
body .references-hero-v21,
body .references-hero-v290,
body .about-hero-v22,
body .about-hero-v290 {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 12% 16%, rgba(11,99,255,.14) 0, rgba(11,99,255,0) 34%),
    radial-gradient(circle at 88% 18%, rgba(85,211,255,.12) 0, rgba(85,211,255,0) 30%),
    linear-gradient(180deg, #f7fbff 0%, #eef5ff 100%) !important;
}
body .services-hero-v270::before,
body .services-hero-v290::before,
body .support-hero::before,
body .references-hero-v21::before,
body .references-hero-v290::before,
body .about-hero-v22::before,
body .about-hero-v290::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  background:
    linear-gradient(118deg, rgba(255,255,255,.34), transparent 42%),
    repeating-linear-gradient(135deg, rgba(11,99,255,.032) 0 1px, transparent 1px 24px),
    linear-gradient(90deg, transparent 0 56%, rgba(11,99,255,.035) 56% 56.25%, transparent 56.25% 100%) !important;
}
body .services-hero-v270 > .container,
body .services-hero-v290 > .container,
body .support-hero > .container,
body .references-hero-v21 > .container,
body .references-hero-v290 > .container,
body .about-hero-v22 > .container,
body .about-hero-v290 > .container,
body .services-hero-v270 .page-hero-grid,
body .services-hero-v290 .page-hero-grid,
body .support-hero .page-hero-grid,
body .references-hero-v21 .page-hero-grid,
body .references-hero-v290 .page-hero-grid,
body .about-hero-v22 .page-hero-grid,
body .about-hero-v290 .page-hero-grid {
  position: relative !important;
  z-index: 1 !important;
}

/* O nás – jistota čitelnosti v rozbité první sekci. */
body .about-hero-v22,
body .about-hero-v290 {
  color: #071a44 !important;
}
body .about-hero-v22 .page-hero-copy,
body .about-hero-v290 .page-hero-copy,
body .about-hero-v22 .page-hero-copy *,
body .about-hero-v290 .page-hero-copy *,
body .about-hero-v22 h1,
body .about-hero-v290 h1,
body .about-hero-v22 h2,
body .about-hero-v290 h2,
body .about-hero-v22 p,
body .about-hero-v290 p,
body .about-hero-v22 strong,
body .about-hero-v290 strong,
body .about-hero-v22 .section-kicker,
body .about-hero-v290 .section-kicker {
  color: #071a44 !important;
  -webkit-text-fill-color: #071a44 !important;
  text-shadow: none !important;
}
body .about-hero-v22 .about-profile-card,
body .about-hero-v290 .about-profile-card,
body .about-hero-v22 .page-hero-grid > aside > *,
body .about-hero-v290 .page-hero-grid > aside > * {
  background: rgba(255,255,255,.93) !important;
  border: 1px solid rgba(168,196,233,.55) !important;
  box-shadow: 0 24px 56px rgba(24,39,75,.10) !important;
  color: #071a44 !important;
}
body .about-hero-v22 .about-profile-card *,
body .about-hero-v290 .about-profile-card *,
body .about-hero-v22 .page-hero-grid > aside > * *,
body .about-hero-v290 .page-hero-grid > aside > * * {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}
body .about-hero-v22 .about-profile-card .profile-mini span,
body .about-hero-v290 .about-profile-card .profile-mini span,
body .about-hero-v22 .about-profile-card .profile-contact-mini a,
body .about-hero-v290 .about-profile-card .profile-contact-mini a {
  background: rgba(11,99,255,.10) !important;
  color: #0b63ff !important;
  border-color: rgba(11,99,255,.14) !important;
}

/* ===== IT-BALON.CZ v423: pokračování nedodělků (úvod + o nás) ===== */

/* Úvod – v kontaktním bloku zůstává jen nadpis, bez duplicitního modrého badge. */
body .contact-section .contact-form-intro .badge,
body .contact-form-wrap .contact-form-intro .badge,
body #collaboration-section .contact-form-intro .badge {
  display: none !important;
}

/* O nás – jistota čitelného a stabilního hero bloku vpravo. */
body .about-hero-v423 .page-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(360px, .92fr) !important;
  align-items: center !important;
  gap: 36px !important;
}

body .about-hero-v423 .about-hero-panel--clean,
body .about-hero-v423 .about-profile-card,
body .about-hero-v423 .about-system-map,
body .about-hero-v423 .about-node-map,
body .about-hero-v423 .about-scope-visual {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(164,193,230,.46) !important;
  box-shadow: 0 24px 58px rgba(24,39,75,.10) !important;
  color: #071a44 !important;
  padding: 30px 30px 28px !important;
  border-radius: 34px !important;
}

body .about-hero-v423 .about-top-grid,
body .about-hero-v423 .about-orbit,
body .about-hero-v423 .about-node-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body .about-hero-v423 .about-top-grid > *,
body .about-hero-v423 .about-orbit > *,
body .about-hero-v423 .about-node-grid > * {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 84px !important;
  padding: 14px 18px !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, #f4f8ff 0%, #ffffff 100%) !important;
  border: 1px solid rgba(11,99,255,.12) !important;
  box-shadow: 0 10px 26px rgba(24,39,75,.06) !important;
  color: #102554 !important;
  font-weight: 800 !important;
  font-size: 1.1rem !important;
  letter-spacing: .03em !important;
}

body .about-hero-v423 .about-panel-copy h2,
body .about-hero-v423 .about-hero-panel--clean h2,
body .about-hero-v423 .about-hero-panel--clean h3,
body .about-hero-v423 .about-system-map h2,
body .about-hero-v423 .about-system-map h3,
body .about-hero-v423 .about-scope-visual h2,
body .about-hero-v423 .about-scope-visual h3 {
  color: #071a44 !important;
  font-size: clamp(1.82rem, 2.35vw, 2.7rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
  text-align: left !important;
  margin: 0 0 12px !important;
}

body .about-hero-v423 .about-panel-copy p,
body .about-hero-v423 .about-hero-panel--clean p,
body .about-hero-v423 .about-system-map p,
body .about-hero-v423 .about-scope-visual p {
  color: #516a89 !important;
  line-height: 1.68 !important;
  margin: 0 !important;
}

/* O nás – Co je pro nás důležité jako tmavší modrá sekce. */
body .about-values-v423 {
  background: linear-gradient(135deg, #071c49 0%, #0b2f71 56%, #0b63ff 100%) !important;
  color: #ffffff !important;
}

body .about-values-v423::before {
  background:
    radial-gradient(circle at 18% 22%, rgba(82,194,255,.18) 0, rgba(82,194,255,0) 30%),
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.12) 0, rgba(255,255,255,0) 26%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0)) !important;
}

body .about-values-v423 .section-kicker,
body .about-values-v423 .section-title,
body .about-values-v423 .section-copy,
body .about-values-v423 h2,
body .about-values-v423 h3,
body .about-values-v423 p {
  color: #ffffff !important;
}

body .about-values-v423 .section-copy,
body .about-values-v423 p {
  opacity: .88 !important;
}

body .about-values-v423 .about-values-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body .about-values-v423 .about-values-grid > * {
  padding: 26px 22px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  box-shadow: 0 18px 40px rgba(2,14,41,.14) !important;
}

/* O nás – Co umíme propojit: menší sazba a modrý panel vlevo, světlá matice vpravo. */
body .about-connect-v423 .about-connect-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
  gap: 26px !important;
  align-items: stretch !important;
}

body .about-connect-v423 .about-stack-card--main,
body .about-connect-v423 .about-panel--blue {
  background:
    radial-gradient(circle at 84% 16%, rgba(84,174,255,.26) 0, rgba(84,174,255,0) 34%),
    radial-gradient(circle at 14% 86%, rgba(255,255,255,.11) 0, rgba(255,255,255,0) 30%),
    linear-gradient(135deg, #061b49 0%, #0a347f 52%, #0b63ff 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 30px 72px rgba(6,27,73,.24) !important;
}

body .about-connect-v423 .about-stack-card--main .section-kicker,
body .about-connect-v423 .about-stack-card--main h2,
body .about-connect-v423 .about-stack-card--main p {
  color: #ffffff !important;
}

body .about-connect-v423 .about-stack-card--main h2 {
  font-size: clamp(2.15rem, 3vw, 3rem) !important;
  line-height: 1.03 !important;
  letter-spacing: -.045em !important;
  max-width: 8.5ch !important;
}

body .about-connect-v423 .about-stack-card--main p {
  font-size: 1.02rem !important;
  line-height: 1.72 !important;
  max-width: 31ch !important;
  color: rgba(255,255,255,.86) !important;
}

body .about-connect-v423 .about-stack-visual,
body .about-connect-v423 .about-scope-visual,
body .about-connect-v423 .about-system-map,
body .about-connect-v423 .about-node-map {
  background: rgba(255,255,255,.95) !important;
  border: 1px solid rgba(164,193,230,.42) !important;
  box-shadow: 0 22px 50px rgba(24,39,75,.08) !important;
  padding: 28px 26px !important;
  border-radius: 30px !important;
}

body .about-connect-v423 .about-scope-grid,
body .about-connect-v423 .about-node-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px 24px !important;
  width: 100% !important;
}

body .about-connect-v423 .about-scope-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  color: #102554 !important;
  font-size: 1.02rem !important;
}

body .about-connect-v423 .about-scope-item span,
body .about-connect-v423 .about-scope-dot {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  background: #0b63ff !important;
  box-shadow: 0 0 0 6px rgba(11,99,255,.10) !important;
  margin-top: .38rem !important;
  flex: 0 0 auto !important;
}

body .about-connect-v423 .about-scope-item em,
body .about-connect-v423 .about-scope-item strong,
body .about-connect-v423 .about-scope-item b,
body .about-connect-v423 .about-node-grid > * {
  color: #102554 !important;
  font-style: normal !important;
}

body .about-connect-v423 .about-scope-item small {
  display: block !important;
  margin-top: 2px !important;
  font-size: .95rem !important;
  color: #4e6787 !important;
  font-weight: 600 !important;
  line-height: 1.48 !important;
}

@media (max-width: 1024px) {
  body .about-values-v423 .about-values-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body .about-connect-v423 .about-scope-grid,
  body .about-connect-v423 .about-node-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  body .about-hero-v423 .page-hero-grid,
  body .about-connect-v423 .about-connect-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 720px) {
  body .about-hero-v423 .about-top-grid,
  body .about-values-v423 .about-values-grid,
  body .about-connect-v423 .about-scope-grid,
  body .about-connect-v423 .about-node-grid {
    grid-template-columns: 1fr !important;
  }

  body .about-hero-v423 .about-panel-copy h2,
  body .about-hero-v423 .about-hero-panel--clean h2,
  body .about-connect-v423 .about-stack-card--main h2 {
    text-align: center !important;
    max-width: none !important;
  }

  body .about-hero-v423 .about-panel-copy p,
  body .about-connect-v423 .about-stack-card--main p {
    text-align: center !important;
    max-width: none !important;
  }
}

/* ===== IT-BALON.CZ v426: O nás – další zjemnění nadpisů, proporcí a kontrastu ===== */

/* První sekce: nadpis už není obří sloupec, ale širší a kompaktnější blok. */
body .about-v424-hero {
  background:
    radial-gradient(circle at 10% 16%, rgba(11, 99, 255, .15) 0, rgba(11, 99, 255, 0) 32%),
    radial-gradient(circle at 88% 22%, rgba(84, 190, 255, .16) 0, rgba(84, 190, 255, 0) 30%),
    radial-gradient(circle at 58% 98%, rgba(255, 196, 125, .10) 0, rgba(255, 196, 125, 0) 30%),
    linear-gradient(180deg, #f5faff 0%, #eaf4ff 100%) !important;
  padding-top: clamp(56px, 7vw, 92px) !important;
  padding-bottom: clamp(58px, 7vw, 96px) !important;
}

body .about-v424-hero::before {
  background:
    linear-gradient(118deg, rgba(255,255,255,.46), transparent 42%),
    repeating-linear-gradient(135deg, rgba(11,99,255,.055) 0 1px, transparent 1px 28px),
    linear-gradient(90deg, rgba(16,37,84,.030) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, rgba(16,37,84,.026) 0 1px, transparent 1px 100%) !important;
  background-size: auto, auto, 128px 128px, 128px 128px !important;
}

body .about-v424-hero .page-hero-grid {
  grid-template-columns: minmax(0, .96fr) minmax(420px, .86fr) !important;
  gap: clamp(34px, 5vw, 72px) !important;
  align-items: center !important;
}

body .about-v424-hero h1 {
  max-width: 13.6ch !important;
  font-size: clamp(2.05rem, 2.62vw, 3.05rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.046em !important;
  margin-bottom: 18px !important;
}

body .about-v424-hero p {
  max-width: 56ch !important;
  font-size: .99rem !important;
  line-height: 1.76 !important;
  margin-bottom: 22px !important;
}

body .about-v424-hero .badge {
  margin-bottom: 14px !important;
}

body .about-v424-sidecard {
  justify-self: end !important;
  width: min(100%, 520px) !important;
  padding: 24px !important;
  gap: 16px !important;
  background:
    radial-gradient(circle at 88% 10%, rgba(93, 198, 255, .30) 0, rgba(93,198,255,0) 34%),
    radial-gradient(circle at 12% 94%, rgba(255,255,255,.13) 0, rgba(255,255,255,0) 28%),
    linear-gradient(135deg, #071b49 0%, #0a347f 54%, #0b63ff 100%) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 28px 68px rgba(7, 27, 73, .24) !important;
}

body .about-v424-sidegrid {
  gap: 12px !important;
}

body .about-v424-sidegrid span {
  min-height: 72px !important;
  padding: 12px 12px !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.20) !important;
  color: #ffffff !important;
  font-size: 1.02rem !important;
  font-weight: 780 !important;
}

body .about-v424-sidecopy {
  padding: 4px 4px 2px !important;
}

body .about-v424-sidecopy h2 {
  max-width: 13ch !important;
  font-size: clamp(1.38rem, 1.72vw, 1.92rem) !important;
  line-height: 1.10 !important;
  margin-bottom: 10px !important;
  color: #ffffff !important;
}

body .about-v424-sidecopy p {
  max-width: 32ch !important;
  font-size: .94rem !important;
  line-height: 1.62 !important;
  color: rgba(255,255,255,.86) !important;
}

/* Hodnoty: výrazně čitelnější, tmavé modré pozadí, ale jemnější nadpisy. */
body .about-v424-values {
  padding-top: clamp(54px, 6vw, 78px) !important;
  padding-bottom: clamp(58px, 6vw, 82px) !important;
  background:
    radial-gradient(circle at 16% 14%, rgba(85, 190, 255, .18) 0, rgba(85, 190, 255, 0) 30%),
    radial-gradient(circle at 86% 20%, rgba(255,255,255,.10) 0, rgba(255,255,255,0) 28%),
    linear-gradient(135deg, #061943 0%, #0a3278 55%, #0b63ff 100%) !important;
}

body .about-v424-values .section-head {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
  align-items: end !important;
  gap: 34px !important;
  margin-bottom: 28px !important;
}

body .about-v424-values .section-title {
  max-width: 17ch !important;
  font-size: clamp(1.65rem, 2.18vw, 2.45rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -.04em !important;
}

body .about-v424-values .section-copy {
  max-width: 62ch !important;
  font-size: .98rem !important;
  line-height: 1.75 !important;
  color: rgba(255,255,255,.90) !important;
}

body .about-v424-values-grid {
  gap: 16px !important;
}

body .about-v424-values-grid article {
  padding: 22px 20px !important;
  background: rgba(255,255,255,.15) !important;
  border-color: rgba(255,255,255,.20) !important;
  box-shadow: 0 16px 34px rgba(2,14,41,.16) !important;
}

body .about-v424-values-grid h3 {
  font-size: 1.04rem !important;
  margin-bottom: 10px !important;
  color: #ffffff !important;
}

body .about-v424-values-grid p {
  font-size: .93rem !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,.88) !important;
}

/* Co umíme propojit: menší texty, méně lámání, jasnější modré pozadí levého bloku. */
body .about-v424-connect {
  background:
    radial-gradient(circle at 10% 12%, rgba(11,99,255,.13) 0, rgba(11,99,255,0) 32%),
    radial-gradient(circle at 88% 18%, rgba(84,190,255,.12) 0, rgba(84,190,255,0) 30%),
    linear-gradient(180deg, #f3f8ff 0%, #eaf4ff 100%) !important;
}

body .about-v424-connect .about-v424-connect-grid {
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr) !important;
  gap: 24px !important;
}

body .about-v424-connect-main {
  background:
    radial-gradient(circle at 86% 12%, rgba(84,174,255,.27) 0, rgba(84,174,255,0) 34%),
    radial-gradient(circle at 12% 88%, rgba(255,255,255,.12) 0, rgba(255,255,255,0) 30%),
    linear-gradient(135deg, #061b49 0%, #0a347f 52%, #0b63ff 100%) !important;
  padding: 28px 26px !important;
}

body .about-v424-connect-main .section-title {
  max-width: 11.5ch !important;
  font-size: clamp(1.62rem, 2.16vw, 2.34rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.04em !important;
}

body .about-v424-connect-main p {
  max-width: 39ch !important;
  font-size: .96rem !important;
  line-height: 1.72 !important;
}

body .about-v424-connect-visual {
  background:
    radial-gradient(circle at 10% 18%, rgba(11,99,255,.10) 0, rgba(11,99,255,0) 32%),
    radial-gradient(circle at 88% 20%, rgba(85,190,255,.10) 0, rgba(85,190,255,0) 30%),
    linear-gradient(180deg, rgba(218,233,255,.86) 0%, rgba(235,244,255,.96) 100%) !important;
  padding: 26px 24px !important;
}

body .about-v424-scope-grid {
  gap: 14px 18px !important;
}

body .about-v424-scope-item {
  font-size: .89rem !important;
  line-height: 1.45 !important;
  gap: 9px !important;
  min-width: 0 !important;
  overflow-wrap: normal !important;
}

body .about-v424-scope-item span {
  width: 9px !important;
  height: 9px !important;
  box-shadow: 0 0 0 5px rgba(11,99,255,.12) !important;
}

/* Spodní přemýšlení: menší karty a stabilní hover. */
body .about-v424-mindset .section-title {
  font-size: clamp(1.75rem, 2.4vw, 2.65rem) !important;
  line-height: 1.12 !important;
}

body .about-v424-mindset-grid article {
  padding: 22px 20px !important;
}

body .about-v424-mindset-grid strong {
  font-size: 1.04rem !important;
}

body .about-v424-mindset-grid p {
  font-size: .94rem !important;
  line-height: 1.65 !important;
}

@media (max-width: 1180px) {
  body .about-v424-sidecard {
    justify-self: stretch !important;
    width: 100% !important;
  }

  body .about-v424-hero h1,
  body .about-v424-sidecopy h2,
  body .about-v424-connect-main .section-title,
  body .about-v424-values .section-title {
    max-width: none !important;
  }
}

@media (max-width: 980px) {
  body .about-v424-hero .page-hero-grid,
  body .about-v424-values .section-head,
  body .about-v424-connect .about-v424-connect-grid {
    grid-template-columns: 1fr !important;
  }

  body .about-v424-values-grid,
  body .about-v424-mindset-grid,
  body .about-v424-scope-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  body .about-v424-hero h1 {
    font-size: clamp(2.05rem, 8.2vw, 2.85rem) !important;
    text-align: center !important;
  }

  body .about-v424-hero p,
  body .about-v424-sidecopy p,
  body .about-v424-connect-main p,
  body .about-v424-values .section-copy {
    text-align: center !important;
  }

  body .about-v424-sidecopy h2,
  body .about-v424-connect-main .section-title,
  body .about-v424-values .section-title {
    text-align: center !important;
  }

  body .about-v424-sidegrid,
  body .about-v424-values-grid,
  body .about-v424-mindset-grid,
  body .about-v424-scope-grid {
    grid-template-columns: 1fr !important;
  }
}


/* ===== IT-BALON.CZ v427: O nás – kompaktnější hero, modrý pravý panel, abstraktní pruhy + animace ===== */
@keyframes itb427TextIn {
  from { opacity: 0; transform: translate3d(0, 16px, 0); filter: blur(4px); }
  to { opacity: 1; transform: translate3d(0, 0, 0); filter: blur(0); }
}

@keyframes itb427SoftFloat {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -6px, 0); }
}

body .about-v424-hero {
  min-height: auto !important;
  padding-top: clamp(72px, 7vw, 112px) !important;
  padding-bottom: clamp(62px, 7vw, 96px) !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(11,99,255,.16) 0, rgba(11,99,255,0) 34%),
    radial-gradient(circle at 86% 18%, rgba(91,206,255,.18) 0, rgba(91,206,255,0) 34%),
    linear-gradient(180deg, #f4f9ff 0%, #edf6ff 100%) !important;
  isolation: isolate !important;
}

body .about-v424-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    repeating-linear-gradient(135deg, rgba(11,99,255,.055) 0 1px, transparent 1px 30px),
    linear-gradient(90deg, rgba(10,36,84,.035) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, rgba(10,36,84,.028) 0 1px, transparent 1px 100%) !important;
  background-size: auto, 132px 132px, 132px 132px !important;
  opacity: .82 !important;
}

body .about-v424-hero::after {
  content: "" !important;
  position: absolute !important;
  right: -150px !important;
  top: -120px !important;
  width: 520px !important;
  height: 520px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(11,99,255,.16) 0%, rgba(11,99,255,0) 68%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
  filter: blur(6px) !important;
}

body .about-v424-hero .container,
body .about-v424-hero .page-hero-grid {
  position: relative !important;
  z-index: 1 !important;
}

body .about-v424-hero .page-hero-grid {
  grid-template-columns: minmax(0, .98fr) minmax(420px, .92fr) !important;
  gap: clamp(34px, 5vw, 70px) !important;
  align-items: center !important;
}

body .about-v424-hero h1 {
  max-width: 15.5ch !important;
  font-size: clamp(2.25rem, 3.25vw, 3.15rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.048em !important;
  margin-bottom: 18px !important;
  animation: itb427TextIn .7s ease both !important;
}

body .about-v424-hero p {
  max-width: 49ch !important;
  font-size: .98rem !important;
  line-height: 1.78 !important;
  margin-bottom: 24px !important;
  animation: itb427TextIn .78s .06s ease both !important;
}

body .about-v424-hero .badge,
body .about-v424-hero .about-v424-actions {
  animation: itb427TextIn .72s .04s ease both !important;
}

body .about-v424-sidecard {
  background:
    radial-gradient(circle at 88% 10%, rgba(88,198,255,.30) 0, rgba(88,198,255,0) 34%),
    radial-gradient(circle at 12% 92%, rgba(255,255,255,.12) 0, rgba(255,255,255,0) 28%),
    linear-gradient(135deg, #061b49 0%, #0a347f 55%, #0b63ff 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  box-shadow: 0 30px 70px rgba(6,27,73,.24) !important;
  max-width: 560px !important;
  justify-self: end !important;
  padding: 26px !important;
  border-radius: 34px !important;
  animation: itb427TextIn .8s .08s ease both, itb427SoftFloat 9s ease-in-out 1.1s infinite !important;
}

body .about-v424-sidegrid span {
  background: rgba(255,255,255,.13) !important;
  border-color: rgba(255,255,255,.20) !important;
  color: #ffffff !important;
  min-height: 76px !important;
  font-size: 1rem !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 10px 24px rgba(0,0,0,.12) !important;
  transition: transform .28s ease, background .28s ease, border-color .28s ease, box-shadow .28s ease !important;
}

body .about-v424-sidegrid span:hover {
  transform: translateY(-4px) !important;
  background: rgba(255,255,255,.20) !important;
  border-color: rgba(255,255,255,.30) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 16px 34px rgba(0,0,0,.16) !important;
}

body .about-v424-sidecopy h2 {
  color: #ffffff !important;
  font-size: clamp(1.42rem, 1.75vw, 1.9rem) !important;
  line-height: 1.12 !important;
  max-width: 12.5ch !important;
}

body .about-v424-sidecopy p {
  color: rgba(255,255,255,.86) !important;
  font-size: .94rem !important;
  line-height: 1.65 !important;
}

/* O nás – tmavší blok důležitých hodnot s čitelnější sazbou a efekty */
body .about-v424-values {
  padding-top: clamp(54px, 6vw, 82px) !important;
  padding-bottom: clamp(56px, 6vw, 86px) !important;
  background:
    radial-gradient(circle at 14% 16%, rgba(80,190,255,.18) 0, rgba(80,190,255,0) 32%),
    radial-gradient(circle at 92% 18%, rgba(11,99,255,.25) 0, rgba(11,99,255,0) 34%),
    linear-gradient(135deg, #071a44 0%, #0a347c 56%, #0b63ff 100%) !important;
  isolation: isolate !important;
}

body .about-v424-values::before {
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.055) 0 1px, transparent 1px 32px),
    linear-gradient(90deg, rgba(255,255,255,.04) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, rgba(255,255,255,.035) 0 1px, transparent 1px 100%) !important;
  background-size: auto, 132px 132px, 132px 132px !important;
  opacity: .72 !important;
}

body .about-v424-values .section-title {
  font-size: clamp(1.85rem, 2.45vw, 2.55rem) !important;
  line-height: 1.08 !important;
  max-width: 14ch !important;
  animation: itb427TextIn .7s ease both !important;
}

body .about-v424-values .section-copy {
  font-size: .98rem !important;
  line-height: 1.72 !important;
  animation: itb427TextIn .75s .05s ease both !important;
}

body .about-v424-values-grid article,
body .about-v424-mindset-grid article,
body .about-v424-connect-main,
body .about-v424-connect-visual {
  transition: transform .30s ease, box-shadow .30s ease, border-color .30s ease, background .30s ease !important;
}

body .about-v424-values-grid article:hover,
body .about-v424-mindset-grid article:hover,
body .about-v424-connect-main:hover,
body .about-v424-connect-visual:hover {
  transform: translateY(-7px) !important;
  box-shadow: 0 28px 64px rgba(2,14,41,.22) !important;
}

body .about-v424-values-grid article {
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.20) !important;
}

body .about-v424-values-grid h3 {
  font-size: 1.06rem !important;
  margin-bottom: 10px !important;
}

body .about-v424-values-grid p {
  font-size: .94rem !important;
  line-height: 1.62 !important;
}

/* Co umíme propojit – kompaktnější matice */
body .about-v424-connect {
  background:
    radial-gradient(circle at 10% 16%, rgba(11,99,255,.12) 0, rgba(11,99,255,0) 34%),
    radial-gradient(circle at 86% 24%, rgba(78,194,255,.10) 0, rgba(78,194,255,0) 30%),
    linear-gradient(180deg, #f5faff 0%, #edf6ff 100%) !important;
}

body .about-v424-connect::before {
  background:
    repeating-linear-gradient(135deg, rgba(11,99,255,.045) 0 1px, transparent 1px 30px),
    linear-gradient(90deg, rgba(10,36,84,.028) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, rgba(10,36,84,.024) 0 1px, transparent 1px 100%) !important;
  background-size: auto, 132px 132px, 132px 132px !important;
  opacity: .72 !important;
}

body .about-v424-connect-main .section-title {
  font-size: clamp(1.55rem, 2vw, 2.05rem) !important;
  max-width: 12ch !important;
}

body .about-v424-connect-main p {
  font-size: .96rem !important;
  line-height: 1.68 !important;
}

body .about-v424-connect-visual {
  background:
    radial-gradient(circle at 20% 20%, rgba(11,99,255,.12) 0, rgba(11,99,255,0) 28%),
    linear-gradient(180deg, rgba(225,238,255,.92), rgba(242,247,255,.96)) !important;
}

body .about-v424-scope-grid {
  gap: 14px 18px !important;
}

body .about-v424-scope-item {
  font-size: .84rem !important;
  line-height: 1.42 !important;
  gap: 9px !important;
}

body .about-v424-scope-item span {
  width: 9px !important;
  height: 9px !important;
  box-shadow: 0 0 0 5px rgba(11,99,255,.10) !important;
}

/* Spodní karta – jemnější sazba */
body .about-v424-mindset {
  background:
    radial-gradient(circle at 85% 18%, rgba(78,194,255,.12) 0, rgba(78,194,255,0) 30%),
    linear-gradient(180deg, #ffffff 0%, #f5faff 100%) !important;
}

body .about-v424-mindset .section-title {
  font-size: clamp(1.85rem, 2.55vw, 2.7rem) !important;
  line-height: 1.08 !important;
}

body .about-v424-mindset-grid article:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(11,99,255,.28) !important;
  box-shadow: 0 24px 54px rgba(24,39,75,.13) !important;
}

@media (max-width: 1180px) {
  body .about-v424-hero .page-hero-grid {
    grid-template-columns: 1fr !important;
  }

  body .about-v424-sidecard {
    justify-self: stretch !important;
    max-width: none !important;
  }

  body .about-v424-hero h1,
  body .about-v424-hero p {
    max-width: none !important;
  }
}

@media (max-width: 720px) {
  body .about-v424-hero {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  body .about-v424-hero h1 {
    font-size: clamp(2rem, 9vw, 2.85rem) !important;
    line-height: 1.05 !important;
  }

  body .about-v424-sidecard {
    padding: 20px !important;
    animation: itb427TextIn .8s .08s ease both !important;
  }

  body .about-v424-sidegrid {
    grid-template-columns: 1fr 1fr !important;
  }

  body .about-v424-sidegrid span {
    min-height: 64px !important;
  }

  body .about-v424-sidecopy h2 {
    text-align: center !important;
    max-width: none !important;
  }

  body .about-v424-sidecopy p {
    text-align: center !important;
    max-width: none !important;
  }

  body .about-v424-values .section-title,
  body .about-v424-mindset .section-title {
    max-width: none !important;
    text-align: center !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body .about-v424-hero h1,
  body .about-v424-hero p,
  body .about-v424-hero .badge,
  body .about-v424-hero .about-v424-actions,
  body .about-v424-sidecard,
  body .about-v424-values .section-title,
  body .about-v424-values .section-copy {
    animation: none !important;
  }
}
