/* Mobile layouts shared by the German and English site. Desktop stays in software.scss. */
@media (max-width: 1023px) {
  body { -webkit-text-size-adjust: 100%; }
  #content, #content *, #masthead *, #colophon * { box-sizing: border-box; }
  #content h1, #content h2, #content h3, .page-header h1 {
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
  }
  #masthead, #masthead.no-scroll { background: #000 !important; }
  #masthead .top-bar { display: none !important; }
  #masthead > .container, #masthead:not(.no-scroll) > .container {
    display: flex !important; justify-content: space-between; width: 100%;
    min-height: 84px; padding: 10px 20px; margin: 0;
  }
  #masthead .site-branding { float: none; margin: 0; max-width: calc(100% - 64px); }
  #masthead .site-logo-div img, #masthead:not(.no-scroll) .site-logo-div img {
    width: auto !important; max-width: 100%; height: 64px !important; padding: 0 !important;
  }
  #masthead #site-navigation { float: none; margin: 0; }
  #nav-toggle { min-width: 44px; min-height: 44px; }
  .page-header { padding: 28px 20px !important; height: auto !important; min-height: 0 !important; margin: 0 !important; }
  .page-header .entry-title { font-size: clamp(24px, 4.5vw, 34px) !important; line-height: 1.25 !important; letter-spacing: .02em; }
  #content-inside { width: 100% !important; max-width: 100%; padding: 24px 20px !important; }
  #content-inside #primary { width: 100% !important; min-width: 0; margin: 0 !important; padding: 0 !important; }
  .home #main > section { height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 28px 0 !important; }
  .home #main > section > .container { width: 100% !important; max-width: 100%; padding: 0 20px !important; }
  .home #sid1679650872274 .table { display: flex !important; flex-direction: column; margin: 0; }
  .home #sid1679650872274 .table > .column { width: 100% !important; min-width: 0; }
  .home #sid1679650872274 .table > .column:first-child { max-height: 340px; }
  .home #sid1679650872274 .table video {
    display: block; width: 100% !important; height: auto !important; max-height: 340px;
    margin: 0 !important; transform: none !important; object-fit: contain;
  }
  .home #sid1679650872274 .emotion--html, .home #sid1679653208634 .emotion--html {
    width: 100% !important; max-width: 100%; margin: 0 !important;
  }
  .home #sid1679650872274 .html--content, .home #sid1679653208634 .html--content {
    height: auto !important; padding: 24px 0 0 !important; margin: 0 !important;
  }
  .home #sid1679650872274 .html--content h2, .home #sid1679653208634 .html--content h2 {
    font-size: clamp(28px, 6vw, 42px) !important; line-height: 1.2 !important; margin: 0 0 20px !important;
  }
  .home #sid1679650872274 .html--content p, .home #sid1679653208634 .html--content p {
    font-size: 17px !important; line-height: 1.6 !important; margin: 0 0 16px;
  }
  .home .btn { white-space: normal; max-width: 100%; min-height: 46px; padding: 12px 18px !important; line-height: 1.5 !important; }
  .home #sid1679656812953 .neue-info-section { display: block; margin: 0 0 32px; }
  .home #sid1679656812953 .neue-info-split { width: 100% !important; }
  .home #sid1679656812953 .neue-info-text { height: auto !important; font-size: 17px !important; line-height: 1.6; text-align: left !important; padding: 0 !important; }
  .home #sid1679656812953 .neue-info-button { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 24px !important; }
  .home #sid1679656812953 .neue-button { width: 100% !important; min-width: 0; background-position: center top !important; }
  .home #sid1679656812953 .neue-button .button { width: 100% !important; height: auto !important; min-height: 150px; aspect-ratio: 1; font-size: 15px !important; line-height: 1.3; padding: 10px 6px !important; }
  .home #sid1679656812953 .submenu.show { height: auto !important; margin: 24px 0 !important; width: 100% !important; }
  .home #sid1679656812953 .submenu.show img { width: 100% !important; height: auto !important; }
  .home #sid1679656812953 .dig-pub--button { width: 100% !important; margin: 0 !important; }
  .home #sid1679656812953 .dig-pub--button a { font-size: 16px !important; line-height: 1.5; }
  .home #sid1679656812953 .dig-pub-button-clicked { width: 100% !important; margin: 24px 0 0 !important; padding: 0 !important; }
  .home #sid1679656812953 .banner, .home #sid1679656812953 .banner--inner { width: 100% !important; padding: 0 !important; }
  .home #sid1679656812953 .banner--inner { font-size: 16px !important; line-height: 1.65 !important; text-align: left; }
  .home #sid1679656812953 .banner--inner h1 { font-size: 23px !important; line-height: 1.3 !important; }
  .home #sid1727340430386 .product--menu {
    display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 16px !important; width: 100% !important; margin: 0 0 16px !important;
  }
  .home #sid1727340430386 .ce_hyperlink.box { min-width: 0 !important; min-height: 330px; width: 100% !important; margin: 0; border-radius: 12px; }
  .home #sid1727340430386 .ce_hyperlink.box figure { width: 100%; margin: 0; }
  .home #sid1727340430386 .ce_hyperlink.box .caption { width: 100% !important; left: 0 !important; padding: 16px !important; bottom: 0 !important; transform: none !important; }
  .home #sid1727340430386 .ce_hyperlink.box h2 { font-size: 20px !important; line-height: 1.3 !important; }
  .home #sid1727340430386 .ce_hyperlink.box p { font-size: 15px !important; line-height: 1.55 !important; opacity: 1 !important; visibility: visible !important; height: auto !important; max-height: none !important; }
  .home #sid1727340430386 .container .ce_hyperlink.box.long { margin: 24px 0 0 !important; min-height: 0 !important; background: linear-gradient(135deg, #19334f, #285e9e); }
  /* Touch devices have no hover: keep icon, title and copy in normal flow. */
  .home #sid1727340430386 .ce_hyperlink.box:not(.long) { min-height: 0 !important; }
  .home #sid1727340430386 .ce_hyperlink.box:not(.long)::after { display: none; }
  .home #sid1727340430386 .ce_hyperlink.box:hover { transform: none; }
  .home #sid1727340430386 .ce_hyperlink.box:not(.long) a { position: static !important; display: flex; flex-direction: column; align-items: center; height: auto !important; padding: 28px 20px; line-height: 1.5; }
  .home #sid1727340430386 .ce_hyperlink.box:not(.long) a > img { position: static !important; display: block !important; width: auto !important; max-width: 120px; height: 80px !important; object-fit: contain; margin: 0 0 24px !important; transform: none !important; }
  .home #sid1727340430386 .ce_hyperlink.box:not(.long) .caption { position: static !important; padding: 0 !important; height: auto !important; }
  .home #sid1727340430386 .ce_hyperlink.box:not(.long) .caption h2,
  .home #sid1727340430386 .ce_hyperlink.box:not(.long) .caption p { position: static !important; transform: none !important; width: 100% !important; margin: 0 !important; }
  .home #sid1727340430386 .ce_hyperlink.box:not(.long) .caption p { margin-top: 16px !important; }
  /* Both calls to action grow with their text instead of using desktop offsets. */
  .home #sid1727340430386 .container .ce_hyperlink.box.long .image_container { position: static; height: auto; }
  .home #sid1727340430386 .container .ce_hyperlink.box.long a.hyperlink_img { position: static !important; display: flex; flex-direction: column; align-items: center; gap: 20px; width: 100%; height: auto !important; padding: 28px 20px; line-height: 1.5; }
  .home #sid1727340430386 .container .ce_hyperlink.box.long .caption-long { position: static !important; width: 100% !important; height: auto; padding: 0; transform: none !important; margin: 0 !important; animation: none; }
  .home #sid1727340430386 .container .ce_hyperlink.box.long .caption-long h2 { position: static; margin: 0; padding: 0; line-height: 1.4 !important; }
  .home #sid1727340430386 .container .ce_hyperlink.box.long .click-button { position: static; display: block; width: auto; max-width: 100%; height: auto; min-height: 48px; padding: 12px 20px; background: #fff; border-radius: 8px; animation: none; line-height: 1.5; }
  .home #sid1727340430386 .container .ce_hyperlink.box.long .click-button span { position: static; display: block; color: #19334f; font-size: 16px; line-height: 1.5; white-space: normal; }
  .home #sid1727340430386 .container .ce_hyperlink.box.long :is(.pointer,.hardware1,.hardware2,.hardware3),
  .home #sid1727340430386 .container .ce_hyperlink.box.long::after { display: none; }
  .home #sid1679653208635 .container .anfrage-container { position: relative; top: auto; left: auto; width: 100%; height: auto; margin: 0 0 24px; background: linear-gradient(135deg, #19334f, #285e9e); border-radius: 12px; z-index: 1; }
  .home #sid1679653208635 .container .anfrage-container::before,
  .home #sid1679653208635 .container .anfrage-container::after { display: none; }
  .home #sid1679653208635 .container .anfrage-container > a { display: block; width: 100%; padding: 24px 20px; }
  .home #sid1679653208635 .container .anfrage-container > a .anfrage-text { height: auto; gap: 4px; font-size: 26px; line-height: 1.35; }
  .home #sid1679653208635 .container .anfrage-container > a .anfrage-text span { height: auto; letter-spacing: normal; }
  .home #sid1679653208635 .container .video { position: static; width: 100%; height: auto; margin: 0 0 24px; }
  .home #sid1679653208635 .container .video video { display: block; width: 100%; height: auto; }
  .home #sid1679653208635 .container .layer--content { margin-top: 24px; }
  .home #sid1679653208635 .dig-pub--text { display: block !important; width: 100% !important; }
  .home #sid1679653208635 .dig-pub--text > .flex { width: 100% !important; height: auto !important; margin: 0 0 24px; }
  .home #sid1679653208635 .dig-pub--text > .flex > div { width: 100% !important; }
  .home #sid1679653208635 .dig-pub--text h1 { font-size: 30px !important; line-height: 1.3 !important; }
  .home #sid1679653208635 .dig-pub--text .kompass-logo img { width: 130px !important; height: auto !important; }
  .home #sid1679653208635 .dig-pub--text .flex:nth-child(2) { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 20px; }
  .home #sid1679653208635 .dig-pub--text .flex:nth-child(2) > a { width: 140px; }
  .home #sid1679653208635 .container.subline { width: 100% !important; margin: 32px 0 0 !important; padding: 0 !important; font-size: 16px !important; line-height: 1.7 !important; text-align: left; }
  .home #sid1679653208635 .container.subline h2 { font-size: 24px !important; line-height: 1.3 !important; }
  /* Pricing pages use the same readable, dark content surface in both languages. */
  :is(.page-id-505,.page-id-1202) #content { background: #101419 !important; }
  :is(.page-id-505,.page-id-1202) .entry-content { color: #f4f5f7 !important; }
  :is(.page-id-505,.page-id-1202) .entry-content > .container { width: 100% !important; padding: 0 !important; font-size: 16px !important; line-height: 1.7 !important; }
  :is(.page-id-505,.page-id-1202) .entry-content h2 { font-size: 23px !important; line-height: 1.3 !important; margin: 28px 0 16px; }
  :is(.page-id-505,.page-id-1202) .entry-content img { max-width: 100%; height: auto; }
  :is(.page-id-505,.page-id-1202) .software-as-service-container { background: #1d2b3b; border: 1px solid #4685da; border-radius: 12px; padding: 24px 16px; margin: 32px 0; }
  :is(.page-id-505,.page-id-1202) .software-as-service-container--inner { display: flex !important; flex-direction: column; align-items: center; gap: 20px; margin: 0 !important; }
  :is(.page-id-505,.page-id-1202) .software-as-service-container .col { width: 100% !important; padding: 0 !important; }
  :is(.page-id-505,.page-id-1202) .software-as-service-container .col:first-child img { display: block; width: auto; max-width: 100%; height: 200px !important; margin: auto !important; animation: none; }
  :is(.page-id-505,.page-id-1202) .software-as-service-container .row { display: flex !important; flex-direction: column; align-items: center; width: 100% !important; margin: 16px 0 !important; text-align: center; }
  :is(.page-id-505,.page-id-1202) .software-as-service-container .row p { width: 100% !important; margin: 0 0 10px !important; transform: none !important; font-size: 20px !important; line-height: 1.4 !important; }
  :is(.page-id-505,.page-id-1202) .software-as-service-container .row:first-child p:nth-child(2) { color: #79b4ff; font-size: 38px !important; font-weight: 700; }
  :is(.page-id-505,.page-id-1202) .software-as-service-container .row:first-child > div { display: none; }
  :is(.page-id-505,.page-id-1202) .software-as-service-container .row img { width: auto !important; max-width: 100%; max-height: 70px; margin: 0 !important; }
  :is(.page-id-505,.page-id-1202) .software-as-service-container .row a { display: inline-block; width: auto !important; min-height: 44px; }
  :is(.page-id-505,.page-id-1202) .software-as-service-container .row:nth-child(2) p:nth-child(2),
  :is(.page-id-505,.page-id-1202) .software-as-service-container .row:nth-child(3) > p { display: none; }
  :is(.page-id-505,.page-id-1202) .software-as-service-container .row:nth-child(3) > a { border-radius: 8px; padding: 14px 20px; color: #fff; background: #285e9e; }
  :is(.page-id-505,.page-id-1202) .software-as-service-container .row:nth-child(3) > a p { margin: 0 !important; font-size: 18px !important; }
  .product-categories ul.products { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 0 0 28px !important; }
  .product-categories ul.products::before, .product-categories ul.products::after { display: none !important; }
  .product-categories ul.products > li.product-category { width: 100% !important; margin: 0 !important; height: auto !important; min-width: 0; background: #1d242d; border-radius: 10px; overflow: hidden; }
  .product-categories ul.products > li.product-category > a { display: flex !important; flex-direction: column; height: 100%; }
  .product-categories ul.products > li.product-category h2.woocommerce-loop-category__title { position: static !important; min-width: 0 !important; width: 100% !important; height: auto !important; min-height: 60px; padding: 12px !important; margin: 0 !important; font-size: 16px !important; line-height: 1.35 !important; background: #285a99 !important; }
  .product-categories ul.products > li.product-category img { display: block !important; width: 100% !important; height: 170px !important; margin: 0 !important; object-fit: contain; background: white; }
  .product-categories .bg-image, .product-categories .bg-video { display: none !important; }
  /* Categories: navigation takes space in the document instead of covering products. */
  .tax-product_cat #content-inside { display: flex !important; flex-direction: column-reverse !important; gap: 24px; }
  .tax-product_cat #content-inside #secondary { display: block !important; position: static !important; width: 100% !important; height: auto !important; margin: 0 !important; padding: 0 !important; border: 0; }
  .tax-product_cat #secondary .widget:not(:has(.wc-block-product-categories)) { display: none; }
  .tax-product_cat #secondary .wc-block-product-categories { position: static !important; }
  .tax-product_cat #secondary .wc-block-product-categories-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
  .tax-product_cat #secondary .wc-block-product-categories-list-item { margin: 0 !important; max-width: 100%; }
  .tax-product_cat #secondary .wc-block-product-categories-list-item a { width: auto !important; min-height: 44px; height: auto !important; padding: 10px 14px; font-size: 14px !important; line-height: 1.4; background: #1d242d !important; border: 1px solid #647386; border-radius: 8px; text-align: center; }
  .tax-product_cat #secondary .wc-block-product-categories-list--depth-1 { display: none !important; }
  .tax-product_cat main, .post-type-archive-product main { width: 100% !important; margin: 0 !important; }
  .woocommerce .woocommerce-ordering { float: none !important; max-width: 100%; }
  .woocommerce .woocommerce-ordering select { width: 100%; max-width: 100%; min-height: 44px; font-size: 16px; }
  :is(.tax-product_cat,.post-type-archive-product,.single-product) ul.products { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin: 24px 0 !important; }
  :is(.tax-product_cat,.post-type-archive-product,.single-product) ul.products::before,
  :is(.tax-product_cat,.post-type-archive-product,.single-product) ul.products::after { display: none !important; }
  :is(.tax-product_cat,.post-type-archive-product,.single-product) ul.products li.product { width: 100% !important; height: auto !important; min-width: 0; margin: 0 !important; padding: 20px !important; background: #fff; color: #222; border: 1px solid #dce2e8; border-radius: 12px; }
  :is(.tax-product_cat,.post-type-archive-product,.single-product) ul.products li.product .flex { display: flex !important; flex-direction: column; height: auto !important; gap: 16px; }
  :is(.tax-product_cat,.post-type-archive-product,.single-product) ul.products li.product .flex > div { width: 100% !important; height: auto !important; margin: 0 !important; padding: 0 !important; display: block !important; }
  :is(.tax-product_cat,.post-type-archive-product,.single-product) ul.products li.product img { width: 100% !important; height: 200px !important; max-height: none !important; object-fit: contain; margin: 0 !important; }
  :is(.tax-product_cat,.post-type-archive-product,.single-product) ul.products li.product .woocommerce-loop-product__title { position: static !important; width: 100% !important; min-height: 0 !important; height: auto !important; font-size: 20px !important; line-height: 1.35 !important; color: #222 !important; padding: 0 !important; margin: 0 0 12px !important; }
  :is(.tax-product_cat,.post-type-archive-product,.single-product) ul.products li.product .shortdescription { display: block; height: auto !important; max-height: none !important; margin: 0 !important; font-size: 15px !important; line-height: 1.6 !important; color: #333; overflow: visible !important; }
  :is(.tax-product_cat,.post-type-archive-product,.single-product) ul.products li.product .bottom { position: static !important; width: 100%; text-align: left; }
  :is(.tax-product_cat,.post-type-archive-product,.single-product) ul.products li.product .price { display: block; text-align: left !important; font-size: 26px !important; line-height: 1.3 !important; margin: 0 0 8px !important; }
  .woocommerce ul.products li.product .button { width: 100%; min-width: 0; min-height: 46px; margin: 16px 0 0 !important; white-space: normal; }
  .breadcrumbs, .woocommerce-breadcrumb { font-size: 14px !important; line-height: 1.6 !important; }
  .breadcrumbs .container { width: 100% !important; padding: 16px 20px !important; }
  .breadcrumbs span span { margin-left: 6px; }
  .single-product #content { padding-top: 24px !important; }
  .single-product.woocommerce div.product { width: 100% !important; margin: 0 !important; }
  .single-product.woocommerce div.product div.images, .single-product.woocommerce div.product div.summary { float: none !important; width: 100% !important; margin: 0 0 28px !important; }
  .single-product .woocommerce-product-gallery__image img { max-height: 360px; width: 100% !important; object-fit: contain; }
  .single-product .woocommerce-product-gallery .flex-viewport,
  .single-product .woocommerce-product-gallery__wrapper { height: 320px !important; }
  .single-product .woocommerce-product-gallery__image { height: 320px !important; }
  .single-product .woocommerce-product-gallery__image > a { height: 100% !important; }
  .single-product .woocommerce-product-gallery__image img:not(.zoomImg) { height: 100% !important; max-height: 320px; }
  .single-product.woocommerce div.product .product_title { font-size: 25px !important; line-height: 1.3 !important; margin: 0 0 20px !important; overflow: visible; }
  .single-product .woocommerce-product-details__short-description { font-size: 16px !important; line-height: 1.65 !important; }
  .single-product .icon-list { width: 100% !important; flex-wrap: wrap; gap: 16px; }
  .single-product .icon-list .item { max-width: 100%; }
  .single-product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; padding: 0 !important; }
  .single-product .woocommerce-tabs ul.tabs li { margin: 0 6px 6px 0 !important; }
  .single-product .woocommerce-tabs .panel { font-size: 16px; line-height: 1.6; overflow-x: auto; }
  .single-product table.shop_attributes th { width: 35%; }
  .woocommerce-cart .wp-block-woocommerce-cart, .woocommerce-cart .wc-block-cart { width: 100% !important; margin: 0 !important; }
  .woocommerce-cart .wc-block-cart .wc-block-cart__main, .woocommerce-cart .wc-block-cart .wc-block-components-sidebar { width: 100% !important; padding: 0 !important; }
  .contact-popup .contact-content { position: relative; width: calc(100% - 32px) !important; height: auto !important; max-height: calc(100dvh - 32px); overflow-y: auto; padding: 24px 16px !important; }
  .contact-popup .contact-close { position: absolute !important; top: 8px !important; left: auto !important; right: 8px; width: 40px !important; height: 40px !important; font-size: 28px !important; }
  .contact-popup .contact-header { padding-right: 40px; gap: 12px; }
  .contact-popup .contact-header h2 { font-size: 20px !important; }
  .contact-popup .contact-header img { width: 64px !important; }
  .contact-popup .contact-body { height: auto !important; padding: 20px 0 0 !important; }
  .contact-popup .contact-body .subheader { font-size: 16px !important; }
  .contact-popup .contact-body .option { height: auto !important; min-height: 60px; }
  .contact-popup .contact-body .option a { flex-wrap: wrap; gap: 8px; padding: 12px !important; font-size: 16px !important; }
  .contact-popup .contact-body .option :is(.option-info,.option-link,.option-info2) { width: auto !important; min-width: 0 !important; max-width: 100% !important; font-size: 14px !important; overflow-wrap: anywhere; }
  .contact-popup .contact-body .option .option-icon { font-size: 24px !important; width: 28px !important; min-width: 28px !important; }
  .sidebar-links, .panther, .sprechblase3 { display: none !important; }
  .toogle-icon-bar { top: auto !important; bottom: max(16px, env(safe-area-inset-bottom)); right: 12px !important; width: 44px !important; height: 44px !important; border-radius: 50% !important; transform: none !important; }
  .icon-bar { top: auto !important; bottom: 68px; transform: none !important; }
  #colophon .container { width: 100% !important; padding: 24px 20px !important; }
  #colophon .footer-flex { display: flex !important; flex-direction: column; gap: 24px; }
  #colophon .footer-flex > div { width: 100% !important; height: auto !important; margin: 0 !important; }
  #colophon .footer-flex-col { max-width: 100%; }
  #colophon .footer-flex a { overflow-wrap: anywhere; }
}
@media (max-width: 599px) {
  .home #sid1727340430386 .product--menu,
  .product-categories ul.products,
  :is(.tax-product_cat,.post-type-archive-product,.single-product) ul.products { grid-template-columns: minmax(0,1fr) !important; }
  .home #sid1727340430386 .ce_hyperlink.box { min-height: 350px; }
}
