/* Ergänzung zum ausgelieferten Build: nur Darstellung, keine Berechnungen. */
.rotec-composition-step { max-width: 820px; margin: 0 auto; padding: 24px; background: #f6f8f5; border: 1px solid #d6ded5; border-radius: 12px; }
.rotec-composition { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: 24px; border: 0; padding: 0; margin: 0 0 20px; min-width: 0; }
.rotec-composition legend { font-size: 23px; font-weight: 700; line-height: 1.3; }
.rotec-composition p { line-height: 1.6; grid-column: 1 / -1; }
.rotec-step-label { color: #53675a; font-size: 14px; font-weight: 600; }
.rotec-side-sketch { display: block; align-self: center; width: 100%; max-width: 460px; margin: 8px auto; font-size: 16px; fill: #35483b; }
.rotec-side-choices { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; }
.rotec-side-choices label { display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px solid #bac8be; border-radius: 7px; background: white; cursor: pointer; line-height: 1.4; }
.rotec-side-choices label.is-selected { border: 2px solid #365d4b; padding: 11px; background: #eaf1e9; }
.rotec-side-choices label:focus-within { outline: 2px solid #a64022; outline-offset: 3px; }
.rotec-side-choices input { width: 20px; height: 20px; flex: 0 0 20px; accent-color: #365d4b; }
.rotec-selection-note { font-size: 14px; color: #46564b; }
.rotec-composition-summary { padding: 16px; border: 1px solid #d6ded5; border-radius: 8px; background: #f6f8f5; margin-bottom: 18px; }
.rotec-composition-summary button { padding: 10px 14px; min-height: 44px; color: #365d4b; background: white; border: 1px solid #9bad9f; border-radius: 5px; font: inherit; cursor: pointer; }
@media(max-width: 520px) {
  .rotec-composition-step { padding: 18px; }
  .rotec-composition { grid-template-columns: minmax(0,1fr); }
  .rotec-composition legend { font-size: 21px; }
  .rotec-side-choices { grid-template-columns: 1fr; gap: 9px; }
}
@media (max-width: 760px) {
  #root input:not([type=radio]):not([type=checkbox]),
  #root select,
  #root textarea { font-size: 16px; }
}

@media (max-width: 520px) {
  #root ._materialTableHead_h9db3_178,
  #root ._materialRow_h9db3_178 {
    grid-template-columns: minmax(0, 1fr) 70px 70px;
    gap: 8px;
    padding-inline: 8px;
  }
  #root ._materialTableHead_h9db3_178 { font-size: 11px; }
  #root ._materialRow_h9db3_178 > div { min-width: 0; }
  #root ._materialRow_h9db3_178 input { box-sizing: border-box; min-width: 0; max-width: 100%; }
  #root ._materialRow_h9db3_178 label {
    display: block;
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  /* Vier Preisspalten werden je Position als beschrifteter Block dargestellt.
     Die Tabellenüberschriften bleiben für assistive Technik vorhanden. */
  #root ._tableWrap_1tebs_62:has(thead th:nth-child(4)) { overflow: visible; }
  #root ._tableWrap_1tebs_62 table:has(thead th:nth-child(4)),
  #root ._tableWrap_1tebs_62 table:has(thead th:nth-child(4)) caption,
  #root ._tableWrap_1tebs_62 table:has(thead th:nth-child(4)) tbody { display: block; }
  #root ._tableWrap_1tebs_62 table:has(thead th:nth-child(4)) thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
  #root ._tableWrap_1tebs_62 table:has(thead th:nth-child(4)) tbody tr {
    display: block;
    border-top: 1px solid #d5ddd4;
    padding: 12px 0;
  }
  #root ._tableWrap_1tebs_62 table:has(thead th:nth-child(4)) tbody th {
    display: block;
    border: 0;
    padding: 0 0 9px;
    overflow-wrap: anywhere;
  }
  #root ._tableWrap_1tebs_62 table:has(thead th:nth-child(4)) tbody td {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    border: 0;
    padding: 4px 0;
    white-space: normal;
    text-align: right;
  }
  #root ._tableWrap_1tebs_62 table:has(thead th:nth-child(4)) tbody td::before {
    color: #53615c;
    text-align: left;
    font-weight: 400;
  }
  #root ._tableWrap_1tebs_62 table:has(thead th:nth-child(4)) tbody td:nth-child(2)::before { content: 'Menge'; }
  #root ._tableWrap_1tebs_62 table:has(thead th:nth-child(4)) tbody td:nth-child(3)::before { content: 'Je Einheit'; }
  #root ._tableWrap_1tebs_62 table:has(thead th:nth-child(4)) tbody td:nth-child(4)::before { content: 'Gesamt'; }
  #root ._tableWrap_1tebs_62 table:has(thead th:nth-child(4)) tbody td:last-child { font-weight: 600; }
}

/* Mehrere maßgebundene Türen und Tore, Oktober 2026. */
.rotec-openings {margin:24px 0;padding:18px;border:1px solid #cedbd5;border-radius:12px;background:#f5f8f6;}
.rotec-openings h3,.rotec-opening-measures h3 {margin:0 0 10px;font-size:19px;}
.rotec-openings p {font-size:14px;line-height:1.55;}
.rotec-opening-add {display:flex;gap:9px;align-items:end;flex-wrap:wrap;margin:18px 0;}
.rotec-openings button {border:1px solid #adc5b9;border-radius:7px;background:white;color:#194d38;padding:10px 12px;font-size:14px;cursor:pointer;}
.rotec-openings button:disabled {opacity:.5;cursor:default;}
.rotec-opening-card {min-width:0;margin:15px 0;padding:14px;border:1px solid #c6d3ce;border-radius:9px;background:white;}
.rotec-opening-card legend {font-weight:700;padding:0 6px;}
.rotec-opening-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.rotec-opening-field {display:flex;flex-direction:column;gap:6px;min-width:0;font-size:13px;line-height:1.4;}
.rotec-opening-field input,.rotec-opening-field select {width:100%;box-sizing:border-box;min-height:43px;padding:9px;border:1px solid #a9bdb2;border-radius:6px;background:white;color:#203b30;font-size:16px;}
.rotec-opening-field input:disabled,.rotec-opening-field select:disabled {background:#edf1ee;opacity:1;color:#55665d;}
.rotec-opening-lock {display:flex;gap:8px;align-items:center;margin:14px 0;font-size:14px;}
.rotec-opening-lock input {width:18px;height:18px;accent-color:#235c41;}
.rotec-openings .rotec-opening-move {display:block;margin-top:16px;background:#edf4ef;font-weight:600;}
.rotec-opening-move:focus-visible {outline:3px solid #39704e;outline-offset:3px;}
._detailTools_1325h_183 {flex-wrap:wrap;max-width:calc(100% - 48px);}
._detailTools_1325h_183 button {min-height:36px;white-space:normal;}
.rotec-opening-price {margin:10px 0 0;color:#385442;}
.rotec-opening-note {color:#50645a;}
.rotec-opening-measures {padding:18px;border:1px solid #cbd9d2;border-radius:12px;background:#f2f6f3;margin:14px 0;}
.rotec-opening-measures p,.rotec-opening-measures small {font-size:13px;line-height:1.5;}
.rotec-opening-measure {display:flex;flex-direction:column;gap:5px;margin:14px 0;padding-bottom:12px;border-bottom:1px solid #d5dfd9;font-size:14px;line-height:1.5;}
.rotec-interactive-plan {width:100%;height:100%;overflow:auto;box-sizing:border-box;background:#f9fbfa;padding:6px;}
.rotec-interactive-plan svg {display:block;width:100%;height:auto;max-height:340px;touch-action:none;}
.rotec-interactive-plan [role=slider]:focus {outline:none;}
.rotec-interactive-plan [role=slider]:focus line:nth-of-type(2) {stroke:#c76a13;stroke-width:14;}
.rotec-plan-label {fill:#233d31;font:12px Arial,sans-serif;paint-order:stroke;stroke:#f9fbfa;stroke-width:4px;stroke-linejoin:round;}
.rotec-plan-current,.rotec-plan-help {margin:4px 8px;font-size:13px;line-height:1.4;color:#284737;}
@media(max-width:500px){.rotec-opening-fields{grid-template-columns:1fr}.rotec-openings{padding:12px}.rotec-opening-add{align-items:stretch}.rotec-opening-add .rotec-opening-field{flex-basis:100%}.rotec-plan-help{font-size:12px}}
[class*="_viewer_"]:has(.rotec-interactive-plan) {height:540px;min-height:540px;}
.rotec-interactive-plan {padding:66px 12px 40px;overflow:hidden;display:flex;flex-direction:column;}
.rotec-interactive-plan svg {flex:1;min-height:0;max-height:none;}
@media(max-width:500px){[class*="_viewer_"]:has(.rotec-interactive-plan){height:500px;min-height:500px}.rotec-interactive-plan{padding:62px 6px 40px}}
.rotec-multi-preview [class*="_viewer_"]:not(:has(.rotec-interactive-plan)) {height:420px;min-height:420px;}
.rotec-interactive-plan svg {user-select:none;}
[class*="_viewer_"]:has(.rotec-interactive-plan) > [class*="_viewerSide_"],
[class*="_viewer_"]:has(.rotec-interactive-plan) > [class*="_viewerBottom_"] {display:none;}
.rotec-interactive-plan {padding-bottom:18px;}
.rotec-plan-label {font-size:16px;}
@media(max-width:500px){.rotec-plan-label{font-size:20px}[class*="_viewer_"]:has(.rotec-interactive-plan){height:550px;min-height:550px}.rotec-plan-help{font-size:13px;}}

/* Vollständiger Neustart der Planung, auch in der eingebetteten Vorschau. */
.rotec-surface {margin:0 0 24px;min-width:0;font-size:15px;line-height:1.65;}
.rotec-panel-comparison {margin:0 0 24px;padding:18px;border:1px solid #cad6ce;border-radius:8px;color:#263832;line-height:1.5;min-width:0;}
.rotec-panel-comparison h3 {font-size:17px;margin:0 0 8px;}
.rotec-panel-comparison p {margin:8px 0;font-size:14px;}
.rotec-comparison-options {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;}
.rotec-comparison-option {display:flex;flex-direction:column;min-width:0;padding:14px;border:1px solid #cad6ce;border-radius:6px;}
.rotec-comparison-option.is-selected {border-color:#426b53;background:#eef4ef;}
.rotec-comparison-option h4 {font-size:15px;margin:0 0 6px;line-height:1.4;}
.rotec-comparison-option p {margin:0 0 14px;flex:1;}
.rotec-comparison-option .rotec-comparison-recommendation {flex:none;color:#315e43;font-weight:600;font-size:13px;}
.rotec-selected-treatment {margin:12px 0 16px;font-size:14px;line-height:1.5;color:#284737;}
.rotec-selected-treatment strong,.rotec-selected-treatment span {display:block;}
.rotec-comparison-price {font-size:22px;line-height:1.4;}
.rotec-comparison-unit {font-size:13px;color:#526158;}
.rotec-panel-comparison .rotec-comparison-difference {margin-top:14px;font-weight:600;}
.rotec-panel-comparison .rotec-comparison-note {font-size:13px;color:#526158;}
@media(max-width:600px){.rotec-comparison-options{grid-template-columns:1fr}.rotec-panel-comparison{padding:13px}}
.rotec-surface-intro {padding:16px 18px;border-left:3px solid #426b53;background:#eef4ef;border-radius:6px;color:#254b38;}
.rotec-surface-intro strong {display:block;line-height:1.5;}
.rotec-surface-intro p {margin:8px 0 0;}
.rotec-surface-button {display:inline-block;margin-top:12px;padding:10px 14px;border:1px solid #8fa99a;border-radius:6px;background:#fff;color:#254b38;font:inherit;font-weight:600;line-height:1.5;text-align:left;cursor:pointer;max-width:100%;white-space:normal;}
.rotec-surface-button:hover {background:#e1ebe4;}
.rotec-surface-button:focus-visible {outline:3px solid #39704e;outline-offset:3px;}
#rotec-surface-details {scroll-margin-top:24px;}
.rotec-surface-details {margin-top:10px;border:1px solid #cad6ce;border-radius:7px;background:#fff;}
.rotec-surface-details summary {padding:14px 16px;cursor:pointer;font-weight:600;line-height:1.5;color:#254b38;}
.rotec-surface-details summary:focus-visible {outline:3px solid #39704e;outline-offset:3px;border-radius:5px;}
.rotec-surface-content {padding:0 18px 18px;overflow-wrap:anywhere;}
.rotec-surface-content p {margin:14px 0;}
.rotec-surface-content h3 {margin:24px 0 8px;font-size:17px;line-height:1.4;}
.rotec-surface-content a {color:#245c43;text-decoration:underline;text-underline-offset:3px;}
.rotec-surface-comparison {width:100%;table-layout:fixed;border-collapse:collapse;margin:20px 0;font-size:14px;line-height:1.5;}
.rotec-surface-comparison caption {text-align:left;font-weight:600;padding-bottom:9px;}
.rotec-surface-comparison th,.rotec-surface-comparison td {width:50%;text-align:left;vertical-align:top;padding:12px;border:1px solid #cad6ce;overflow-wrap:anywhere;}
.rotec-surface-comparison th {background:#eef4ef;}
.rotec-surface-comparison ol {margin:0;padding-left:18px;}
.rotec-surface-comparison li+li {margin-top:9px;}
.rotec-surface-experience {margin:16px 0;padding:16px 18px;background:#f6f3ec;border-left:3px solid #a58252;border-radius:4px;}
.rotec-surface-experience blockquote {margin:0;}
.rotec-surface-experience blockquote p {margin:0;}
.rotec-surface-experience figcaption {margin-top:10px;font-size:13px;font-weight:600;}
@media(max-width:500px){.rotec-surface {font-size:14px}.rotec-surface-intro,.rotec-surface-experience {padding:13px}.rotec-surface-content {padding:0 12px 12px}.rotec-surface-comparison th,.rotec-surface-comparison td {padding:9px;font-size:13px}}

.rotec-reset-configurator {margin-left:auto;padding:10px 14px;border:1px solid #9fb4a8;border-radius:7px;background:#fff;color:#254b38;font:inherit;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer;white-space:normal;}
.rotec-reset-configurator:hover {background:#edf4ef;border-color:#466e56;}
.rotec-reset-configurator:focus-visible {outline:3px solid #39704e;outline-offset:3px;}
.rotec-reset-configurator:disabled {opacity:.5;cursor:default;}
.rotec-reset-dialog {position:fixed;inset:24px 0 auto;width:calc(100% - 32px);max-width:520px;box-sizing:border-box;margin:0 auto;padding:24px;border:1px solid #9fb4a8;border-radius:12px;background:#fff;color:#263832;box-shadow:0 16px 50px #14291d33;font:inherit;line-height:1.5;}
.rotec-reset-dialog::backdrop {background:#18302566;}
.rotec-reset-dialog h2 {margin:0 0 12px;font-size:21px;line-height:1.3;}
.rotec-reset-dialog p {margin:0 0 20px;}
.rotec-reset-dialog-actions {display:flex;flex-wrap:wrap;gap:12px;}
.rotec-reset-dialog button {flex:1 1 180px;padding:12px;border:1px solid #436c52;border-radius:6px;background:#edf4ef;color:#254b38;font:inherit;font-weight:600;cursor:pointer;}
.rotec-reset-dialog button.rotec-reset-confirm {background:#9f3e20;color:#fff;border-color:#9f3e20;}
.rotec-reset-dialog button:focus-visible {outline:3px solid #39704e;outline-offset:3px;}
@media(max-width:500px){.rotec-reset-configurator {font-size:13px;padding:9px 10px;max-width:185px;}}

/* Freitragende Schiebetore */
.rotec-sliding-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.rotec-sliding-options button{display:flex;flex-direction:column;gap:12px;text-align:left;border:1px solid #ccd5d0;border-radius:8px;background:white;padding:14px;cursor:pointer;color:#183e30;font:inherit}.rotec-sliding-options button:hover{border-color:#295d49;background:#f4f8f5}.rotec-sliding-options button:disabled{opacity:.5;cursor:not-allowed}.rotec-sliding-options img{width:100%;height:110px;object-fit:contain}.rotec-sliding-details{border-top:1px solid #d7dfd9;margin-top:20px;padding-top:16px}.rotec-sliding-details>img{display:block;width:100%;max-height:210px;object-fit:contain;background:white;margin-bottom:12px}.rotec-sliding-details>strong{display:block;margin-bottom:16px}.rotec-opening-fields{min-width:0}.rotec-opening-field select{max-width:100%}@media(max-width:520px){.rotec-sliding-options{grid-template-columns:1fr}.rotec-sliding-options img{height:135px}}
