
/* 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;
}
