/* WohnWeitblick – Mobile Optimierung V242 */

@media (max-width: 700px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  .wrap {
    width: calc(100% - 20px) !important;
    max-width: 100% !important;
  }

  main,
  section,
  article,
  form,
  .panel,
  .card,
  .row-2,
  .grid,
  .vgrid,
  .scen,
  .calc {
    min-width: 0;
    max-width: 100%;
  }

  h1 {
    font-size: clamp(30px, 10vw, 38px) !important;
    overflow-wrap: anywhere;
  }

  h2 {
    font-size: clamp(25px, 8vw, 32px) !important;
    overflow-wrap: anywhere;
  }

  h3,
  h4,
  p,
  li,
  span,
  strong,
  small {
    overflow-wrap: anywhere;
  }

  /* Navigation */

  .site-nav-inner,
  .nav,
  .nav-r {
    min-width: 0;
  }

  .site-brand {
    min-width: 0 !important;
    max-width: calc(100% - 52px);
  }

  .site-brand-copy {
    min-width: 0;
  }

  .site-brand-claim {
    display: none;
  }

  /* Formulare */

  .panel {
    border-radius: 16px;
  }

  .step,
  .form-step,
  .form-section {
    padding-inline: 14px !important;
  }

  input,
  select,
  textarea,
  button {
    max-width: 100%;
  }

  .cards,
  .cards.two,
  .grid,
  .calc,
  .sc-c,
  .vgrid,
  .drv,
  .row-2,
  .result-overview-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .cards button {
    min-height: 78px;
  }

  /* Ergebnisbereich */

  .ck {
    overflow-x: hidden;
  }

  .ck-hd {
    align-items: stretch;
    gap: 14px;
  }

  .ck-act {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .ck-act button,
  .ck-act a {
    width: 100%;
    justify-content: center;
  }

  .card {
    width: 100%;
    padding: 16px !important;
    border-radius: 14px;
    overflow: hidden;
  }

  .c-h {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8px;
  }

  .c-h > div {
    min-width: 0;
  }

  .c-h .badge {
    max-width: 100%;
    white-space: normal;
    text-align: left;
  }

  .sum,
  .ins-i {
    font-size: 15px;
    line-height: 1.55;
  }

  /* Kennzahlen */

  .wk-sale-main-v47,
  .wk-sale-range-v47,
  .wk-holding-main-v47,
  .wk-finance-summary-v47 {
    width: 100%;
    min-width: 0;
    padding: 14px !important;
  }

  .wk-sale-main-v47 > strong {
    font-size: clamp(25px, 9vw, 32px) !important;
  }

  .wk-sale-main-v47 dl > div {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }

  .wk-sale-main-v47 dd {
    max-width: 100%;
    text-align: left;
    overflow-wrap: anywhere;
  }

  /* Normale Tabellen */

  .card > table.tbl:not(.mtx),
  .mini-tbl {
    width: 100%;
    table-layout: fixed;
  }

  .card > table.tbl:not(.mtx) th,
  .card > table.tbl:not(.mtx) td,
  .mini-tbl th,
  .mini-tbl td {
    max-width: 100%;
    padding: 9px 5px;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  .tbl td.r {
    text-align: right;
    white-space: normal;
  }

  /* Breite Tabellen und Matrix scrollbar halten */

  .tbl-wrap,
  .wk-matrix-wrapper-v68,
  .comparison-table {
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .wk-matrix-native-v68 {
    min-width: 760px !important;
  }

  .wk-matrix-native-v68
    tr:first-child
    > *:first-child,
  .wk-matrix-native-v68
    tr:not(:first-child)
    > *:first-child {
    width: 125px;
    min-width: 125px;
  }

  .wk-matrix-native-v68
    tr
    > *:not(:first-child) {
    width: 105px;
    min-width: 105px;
  }

  .comparison-row {
    min-width: 620px !important;
  }

  /* Szenarien */

  .sc {
    min-width: 0;
    padding: 15px;
  }

  .scen .sc > .sc-h {
    min-height: 0 !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
  }

  .scen .sc .sc-t h4 {
    min-height: 0 !important;
  }

  .sc-f {
    grid-column: 1 / -1;
    text-align: left;
  }

  /* Dialoge */

  dialog,
  .account-dialog-v19,
  .premium-dialog-v19,
  .edit-dialog {
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
    margin: auto !important;
  }

  .account-shell-v19,
  .premium-shell-v19,
  .edit-dialog-shell {
    max-width: 100%;
    max-height: calc(100dvh - 16px);
  }

  .premium-consumer-information-v240 {
    padding: 12px;
  }

  .premium-order-summary-v241 {
    display: grid;
    justify-content: stretch;
  }

  .premium-confirmation-v240 {
    grid-template-columns: 20px minmax(0, 1fr) !important;
    padding: 10px;
  }

  .premium-confirmation-v240 input {
    flex: none;
  }

  /* Footer */

  .site-footer-main-v124,
  .site-footer-navigation-v124 {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .site-footer-brand-v124 {
    max-width: 100%;
  }
}

@media (max-width: 380px) {
  .wrap {
    width: calc(100% - 14px) !important;
  }

  .card {
    padding: 13px !important;
  }

  .site-brand-name,
  .site-footer-brand-name-v124 {
    font-size: 18px !important;
  }

  .premium-confirmation-v240 span {
    font-size: 13px;
  }
}
