/* DEV-121: zentraler, nur auf der Angebotsseite geladener Komponentenstil. */

/* Angebotsseite: vertikal wischen, Zweifinger-Zoom erhalten. */
html:has(.g-offer),
body:has(.g-offer){
  touch-action:pan-y pinch-zoom;
  overscroll-behavior-x:none;
}
/* Der randlose Angebotsblock benötigt keinen äußeren Bootstrap-Zeilenüberhang. */
.cms-block-container-row:has(.g-offer){--bs-gutter-x:0px}

    body:has(.g-offer) .tyc-public-offer-native-mail{display:none!important}
    .g-offer #tycStandaloneCaptcha:empty{display:none}
    .g-offer #tycStandaloneCaptcha{margin:14px 0;text-align:left}
    .g-offer{
      color-scheme:light;
      --bg:var(--tyc-surface-soft);
      --card:var(--tyc-surface);
      --text:var(--tyc-ink);
      --muted:var(--tyc-muted);
      --line:var(--tyc-line);
      --soft:#f7f9fc;
      --accent:var(--tyc-blue-700);
      --accent2:var(--tyc-cyan-500);
      --ok:#15803d;
      --err:#dc2626;
      --shadow:0 8px 28px rgba(15,35,65,.07);
      --shadow2:0 14px 40px rgba(15,35,65,.12);
      --ring:0 0 0 4px rgba(8,116,209,.16);
      --radius:var(--tyc-radius);
    }

    .g-offer,
.g-offer *{box-sizing:border-box}
    .g-offer{
      width:100%;
      max-width:var(--tyc-content-max-width);
      margin:0 auto 32px;
      padding:0;
      background:var(--bg);
      color:var(--text);
      font-family:inherit;
      font-size:15px;
      line-height:1.5;
      overflow:visible;
    }
    .g-offer .hero{
      background:linear-gradient(180deg,#ffffff 0%, #f7fbff 100%);
      border:1px solid var(--line);
      border-radius:22px;
      padding:18px 18px 16px;
      box-shadow:var(--shadow);
      margin-bottom:14px;
      position:relative;
      overflow:hidden;
    }
    .g-offer .hero:before{
      content:"";
      position:absolute; inset:-60px -60px auto auto;
      width:240px; height:240px;
      background:radial-gradient(circle at 30% 30%, rgba(37,99,235,.22), transparent 60%);
      transform:rotate(18deg);
      pointer-events:none;
    }
    .g-offer .hero-top{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
    .g-offer .hero h1{
      margin:0;
      font-size:1.35rem;
      letter-spacing:-.02em;
      line-height:1.2;
    }
    .g-offer .hero p{margin:.35rem 0 0;color:var(--muted);max-width:78ch}
    .g-offer .badge{
      display:inline-flex;align-items:center;gap:8px;
      padding:8px 10px;border-radius:999px;
      background:rgba(37,99,235,.08);
      border:1px solid rgba(37,99,235,.18);
      color:#1d4ed8;
      font-weight:700;
      white-space:nowrap;
    }
    .g-offer .badge .dot{width:8px;height:8px;border-radius:99px;background:linear-gradient(180deg,var(--accent2),var(--accent))}

    .g-offer .stack{display:block;padding:var(--tyc-space) 0 0}
    .g-offer .card{
      background:var(--card);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:18px;
      box-shadow:var(--shadow);
      margin-bottom:16px;
    }

    .g-offer .stephead{
      display:flex;align-items:flex-start;gap:14px;
      margin:0 0 12px;
    }
    .g-offer .stepno{
      width:44px;height:44px;border-radius:14px;
      display:grid;place-items:center;
      background:linear-gradient(180deg, rgba(37,99,235,.10), rgba(37,99,235,.04));
      border:1px solid rgba(37,99,235,.18);
      color:#1d4ed8;
      font-weight:900;
      flex:0 0 auto;
    }
    .g-offer .stepmeta{flex:1}
    .g-offer .stepmeta h2{margin:0;font-size:1.05rem;letter-spacing:-.01em}
    .g-offer .stepmeta .sub{margin:.25rem 0 0;color:var(--muted);font-size:.92rem}

    .g-offer .row{display:flex;flex-wrap:wrap;gap:14px}
    .g-offer .field{flex:1 1 240px;min-width:240px}
    .g-offer label{display:block;font-size:.88rem;margin:0 0 6px;color:#334155;font-weight:700;white-space:normal;overflow-wrap:anywhere}
    .g-offer .help{color:var(--muted);font-size:.82rem;margin-top:6px}
    .g-offer input,
.g-offer select,
.g-offer textarea{
      width:100%;
      background:#fff;
      border:1px solid #cbd5e1;
      border-radius:12px;
      color:var(--text);
      padding:11px 12px;
      font-size:.95rem;
      outline:none;
      transition:.18s ease;
    }
    .g-offer input:focus,
.g-offer select:focus,
.g-offer textarea:focus{border-color:var(--accent);box-shadow:var(--ring)}
    .g-offer input[type="number"]{max-width:120px}
    .g-offer input[type="number"]::-webkit-inner-spin-button,
.g-offer input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
    .g-offer input[type="number"]{-moz-appearance:textfield;appearance:textfield}
    .g-offer textarea{min-height:110px;resize:vertical}

    .g-offer .section{
      margin:14px 0;
      padding:14px;
      border:1px dashed #dbe4f0;
      border-radius:14px;
      background:linear-gradient(180deg,#fff 0%, #fbfdff 100%);
    }
    .g-offer .title{font-weight:900;margin:0 0 .65rem;font-size:.95rem}

    /* Item cards (Monitore, Zubehör, Kameras, Alarm) */
    .g-offer .grid-2{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:12px}
    @media (max-width:860px){.g-offer .grid-2{grid-template-columns:1fr}}
    .g-offer .item{
      border:1px solid var(--line);
      background:var(--soft);
      border-radius:16px;
      padding:12px;
      display:grid;
      grid-template-columns:76px minmax(0,1fr) minmax(320px,340px);
      gap:12px;
      align-items:center;
    }
    .g-offer .item .img{
      width:76px;height:76px;border-radius:14px;overflow:hidden;
      border:1px solid #e5e7eb;background:#fff;
      display:grid;place-items:center;
    }
    .g-offer .item .img img{width:100%;height:100%;object-fit:cover}
    .g-offer .item .meta{min-width:0}
    .g-offer .item .name{font-weight:900;margin:0 0 4px;font-size:.98rem}
    .g-offer .sku{
      display:inline-flex;align-items:center;gap:8px;
      padding:6px 10px;border-radius:999px;
      background:#fff;border:1px solid #e5e7eb;
      color:#0f172a;
      font-weight:800;font-size:.84rem;
    }
    .g-offer .item .controls{display:flex;gap:10px;justify-content:flex-end;align-items:center;flex-wrap:wrap}
    .g-offer .qty{max-width:none}
    .g-offer .qty-control{
      display:grid;
      grid-template-columns:42px minmax(62px,78px) 42px;
      align-items:center;
      gap:6px;
      width:100%;
      max-width:174px;
      position:relative;
    }
    .g-offer .qty-control .qty{
      width:100%;
      height:42px;
      padding:6px 8px;
      border-radius:12px;
      text-align:center;
      font-weight:900;
      font-variant-numeric:tabular-nums;
      cursor:text;
    }
    .g-offer .qty-step{
      width:42px;
      height:42px;
      min-width:42px;
      padding:0;
      display:grid;
      place-items:center;
      border:1px solid rgba(37,99,235,.25);
      border-radius:12px;
      background:rgba(37,99,235,.08);
      color:#1d4ed8;
      font-size:1.35rem;
      font-weight:900;
      line-height:1;
      box-shadow:none;
      -webkit-tap-highlight-color:transparent;
      touch-action:manipulation;
    }
    .g-offer .qty-step:hover{background:rgba(37,99,235,.14);transform:translateY(-1px)}
    .g-offer .qty-step:active{transform:translateY(0) scale(.97)}
    .g-offer .qty-step:focus-visible,
.g-offer .qty-control .qty:focus-visible,
.g-offer .qty-choice:focus-visible{outline:none;box-shadow:var(--ring)}
    .g-offer .qty-step:disabled{opacity:.4;cursor:not-allowed;transform:none}
    .g-offer .qty-control.has-info{max-width:174px}
    .g-offer .qty-picker{
      position:fixed;
      z-index:1000001;
      display:grid;
      grid-template-columns:repeat(5,minmax(38px,1fr));
      gap:6px;
      max-height:264px;
      overflow:auto;
      padding:10px;
      border:1px solid #cbd5e1;
      border-radius:16px;
      background:#fff;
      box-shadow:0 20px 50px rgba(2,6,23,.2);
      overscroll-behavior:contain;
    }
    .g-offer .qty-picker[hidden]{display:none!important}
    .g-offer .qty-choice{
      min-width:0;
      height:38px;
      padding:0 5px;
      border:1px solid #e2e8f0;
      border-radius:10px;
      background:#f8fafc;
      color:#334155;
      font-size:.86rem;
      font-weight:850;
      box-shadow:none;
    }
    .g-offer .qty-choice:hover{background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.3)}
    .g-offer .qty-choice.is-selected{background:#2563eb;color:#fff;border-color:#2563eb}
    .g-offer .infoBtn{
      width:40px;height:40px;border-radius:14px;
      border:1px solid rgba(37,99,235,.25);
      background:rgba(37,99,235,.08);
      color:#1d4ed8;
      display:grid;place-items:center;
      font-weight:1000;
      cursor:pointer;
      transition:.15s ease;
      -webkit-tap-highlight-color: transparent;
      touch-action: manipulation;
    }
    .g-offer .infoBtn:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(37,99,235,.10)}
    .g-offer .checkline{
      grid-column:2 / -1;
      display:flex;align-items:center;justify-content:flex-start;gap:10px;
      margin-top:2px;
      color:var(--muted);
      font-size:.9rem;
    }
    .g-offer .checkline input{width:18px;height:18px;border-radius:6px}
    .g-offer .mountHint{
      grid-column:2 / -1;
      display:none;
      margin-top:4px;
      padding:10px;
      border-radius:14px;
      border:1px solid #e5e7eb;
      background:#fff;
      gap:10px;
      align-items:center;
    }
    .g-offer .mountHint.show{display:flex}
    .g-offer .mountHint img{width:52px;height:52px;border-radius:12px;border:1px solid #e5e7eb;object-fit:cover}
    .g-offer .mountHint .mmeta{display:flex;flex-direction:column}
    .g-offer .mountHint .mmeta strong{font-size:.92rem}
    .g-offer .mountHint .mmeta span{color:var(--muted);font-size:.86rem}

    /* Mobile: image + qty side, details below */
    @media (max-width:520px){
      .g-offer .item{
        grid-template-columns:76px minmax(0,1fr);
        grid-template-rows:auto auto auto;
      }
      .g-offer .item .img{grid-row:1;grid-column:1}
      .g-offer .item .meta{grid-row:1;grid-column:2;align-self:center}
      .g-offer .item .controls{
        grid-row:2;
        grid-column:1 / -1;
        justify-content:flex-start;
        width:100%;
      }
      .g-offer .item .controls .infoBtn{flex:0 0 40px}
      .g-offer .qty-control{
        flex:0 1 170px;
        grid-template-columns:40px minmax(58px,70px) 40px;
        max-width:170px;
        gap:5px;
      }
      .g-offer .qty-step{width:40px;height:40px;min-width:40px}
      .g-offer .qty-control .qty{height:40px}
      .g-offer .checkline,
.g-offer .mountHint{grid-column:1 / -1}
    }

    .g-offer .btnbar{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;align-items:center}
    .g-offer button{cursor:pointer;border:0;border-radius:14px;padding:11px 14px;font-weight:900;font-size:.95rem;transition:.15s ease}
    .g-offer .primary{
      background:linear-gradient(180deg,#22c55e,#16a34a);
      color:#052e1c;
      box-shadow:0 12px 24px rgba(22,163,74,.18);
    }
    .g-offer .primary:hover{transform:translateY(-1px)}
    .g-offer .ghost{
      background:rgba(37,99,235,.08);
      border:1px solid rgba(37,99,235,.22);
      color:#1d4ed8;
    }
    .g-offer .ghost:hover{transform:translateY(-1px)}
    .g-offer .mutebtn{
      background:#0f172a0f;
      border:1px solid #e2e8f0;
      color:#0f172a;
    }

    /* remove button for outside stations */
    .g-offer .removeOut{
      background:rgba(239,68,68,.08);
      border:1px solid rgba(239,68,68,.22);
      color:#b91c1c;
      border-radius:14px;
      padding:10px 12px;
      font-weight:900;
    }
    .g-offer .removeOut:hover{transform:translateY(-1px)}

    .g-offer .note{font-size:.86rem;color:var(--muted)}
    .g-offer .ok{color:var(--ok)} .g-offer .err{color:var(--err)}
    .g-offer .hidden{display:none!important}

    .g-offer .summary dt{color:var(--muted);margin-top:10px;font-weight:900}
    .g-offer .summary dd{margin:4px 0 10px}
    .g-offer #sCams{white-space:pre-line}

    .g-offer .divider{
      height:1px;background:linear-gradient(90deg,transparent,#e2e8f0,transparent);
      margin:12px 0;
    }

    /* Modal (Goliath – unique classes to avoid theme conflicts) */
    .g-offer .gModalBack{
      position:fixed; inset:0;
      background:rgba(2,6,23,.55);
      display:none;
      align-items:center; justify-content:center;
      padding:16px;
      z-index:999999;
    }
    .g-offer .gModalBack.show{display:flex}
    .g-offer .gModal{
      width:min(720px,100%);
      background:#fff;
      border:1px solid #e2e8f0;
      border-radius:20px;
      box-shadow:var(--shadow2);
      overflow:hidden;
      transform:translateY(4px);
      animation:gPop .16s ease-out;
    }
    @keyframes gPop{from{opacity:.6;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
    .g-offer .gModalHead{
      padding:14px 16px;
      display:flex;align-items:center;justify-content:space-between;gap:10px;
      background:linear-gradient(180deg,#f8fbff,#ffffff);
      border-bottom:1px solid #e2e8f0;
    }
    .g-offer .gModalTitle{font-weight:1000}
    .g-offer .gModalClose{
      width:42px;height:42px;border-radius:14px;
      border:1px solid #e2e8f0;background:#fff;
      cursor:pointer;font-weight:1000;
    }
    .g-offer .gModalBody{padding:14px 16px;color:#0f172a}
    .g-offer .gModalBody p{margin:.3rem 0;color:#334155}
    .g-offer .gModalBody ul{margin:.4rem 0 0 1.1rem;color:#334155}

    /* TCY 2035 v2.0.0 Anfrage-Konfigurator */
    .g-offer .choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;margin-top:10px}
    .g-offer .choice-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px;box-shadow:0 8px 22px rgba(2,6,23,.05)}
    .g-offer .choice-card strong{display:block;color:var(--text);font-size:.96rem;margin-bottom:4px}
    .g-offer .choice-card span{display:block;color:var(--muted);font-size:.86rem;line-height:1.4}
    .g-offer .soft-info{border:1px solid rgba(37,99,235,.18);background:rgba(37,99,235,.06);border-radius:14px;padding:12px;color:#1e3a8a;font-size:.9rem;margin-top:10px}
    .g-offer .legal-check{
      width:100%;max-width:100%;min-width:0;box-sizing:border-box;
      margin-top:14px;padding:12px;border-radius:14px;border:1px solid #dbe4f0;background:#fff;
      display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;
      color:#334155;font-size:.9rem;white-space:normal;
    }
    .g-offer .legal-check input{width:20px;height:20px;margin:1px 0 0;flex:0 0 auto}
    .g-offer .legal-check-copy{display:block;min-width:0;max-width:100%;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
    .g-offer .legal-check-note{display:block;margin-top:3px;color:#52637e;font-size:.86rem;font-weight:700}
    .g-offer .legal-check a{color:#1d4ed8;font-weight:800;text-decoration:underline;text-underline-offset:2px}
    .g-offer .faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px}
    .g-offer .faq-grid details{border:1px solid var(--line);background:#fff;border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
    .g-offer .faq-grid summary{cursor:pointer;font-weight:900;padding:14px 42px 14px 16px;position:relative;list-style:none;color:var(--text)}
    .g-offer .faq-grid summary::-webkit-details-marker{display:none}
    .g-offer .faq-grid summary::after{content:"+";position:absolute;right:16px;color:var(--accent);font-weight:1000}
    .g-offer .faq-grid details[open] summary::after{content:"−"}
    .g-offer .faq-grid p{padding:0 16px 15px;margin:0;color:var(--muted)}
    .g-offer .project-block.hidden{display:none!important}
    .g-offer .muted-inline{color:var(--muted);font-size:.86rem}
    .g-offer .req-note{font-size:.82rem;color:var(--muted);margin-top:8px}

    /* TCY ERP-Außenstationsauswahl */
    .g-offer .outside-card{
      margin-top:12px;padding:16px;border:1px solid var(--line);border-radius:18px;
      background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
    }
    .g-offer .outside-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
    .g-offer .outside-card-head strong{font-size:.98rem}
    .g-offer .outside-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px}
    .g-offer .outside-option-field{margin-top:14px}
    .g-offer .outside-summary{
      margin-bottom:14px;border:1px solid rgba(37,99,235,.15);background:linear-gradient(180deg,rgba(37,99,235,.06),rgba(37,99,235,.03));
      border-radius:16px;padding:14px;
    }
    .g-offer .outside-summary-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
    .g-offer .outside-summary-title{font-size:.98rem;font-weight:900;color:#0f172a;margin:0}
    .g-offer .outside-summary-sub{margin:4px 0 0;color:#475569;font-size:.88rem;line-height:1.5}
    .g-offer .outside-summary-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
    .g-offer .outside-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #dbe4f0;font-size:.82rem;font-weight:800;color:#334155}
    .g-offer .outside-section-label{font-size:.84rem;font-weight:900;letter-spacing:.02em;text-transform:uppercase;color:#1d4ed8;margin:0 0 10px}
    .g-offer .outside-option-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}
    .g-offer .outside-option-card{
      position:relative;width:100%;padding:16px 46px 16px 16px;text-align:left;
      border:1px solid #dbe4f0;border-radius:16px;background:#fff;color:var(--text);
      box-shadow:0 6px 16px rgba(2,6,23,.04);cursor:pointer;transition:.15s ease;
    }
    .g-offer .outside-option-card:hover{transform:translateY(-1px);border-color:rgba(37,99,235,.35);box-shadow:0 10px 22px rgba(37,99,235,.08)}
    .g-offer .outside-option-card.is-selected{border-color:var(--accent);background:rgba(37,99,235,.055);box-shadow:var(--ring)}
    .g-offer .outside-option-card.is-selected::after{
      content:"✓";position:absolute;right:14px;top:16px;
      width:24px;height:24px;border-radius:999px;display:grid;place-items:center;
      background:var(--accent);color:#fff;font-weight:1000;font-size:.85rem;
    }
    .g-offer .outside-option-title{font-weight:900;color:#0f172a;line-height:1.3;font-size:1.05rem}
    .g-offer .outside-option-placeholder{padding:12px;border:1px dashed #cbd5e1;border-radius:14px;color:var(--muted);font-size:.88rem;background:#f8fafc}
    .g-offer .outside-empty{font-size:.86rem;color:#b45309;margin-top:8px}
    @media (max-width:760px){
      .g-offer .outside-filter-grid{grid-template-columns:1fr}
      .g-offer .outside-summary-top{flex-direction:column;align-items:flex-start}
    }

    /* ===== Richtung 1c – Shopware Light, Goliath-Blau ===== */
    .g-offer a{color:var(--accent)}
    .g-offer a:hover{color:#055da8}
    .g-offer h1,
.g-offer h2,
.g-offer .stepmeta h2{font-weight:700;letter-spacing:-.01em;color:var(--text)}
    .g-offer label{color:#26364f}
    .g-offer input,
.g-offer select,
.g-offer textarea{
      background:#fff;border-color:#cfd9e8;color:var(--text);-webkit-text-fill-color:var(--text)
    }
    .g-offer input:focus,
.g-offer select:focus,
.g-offer textarea:focus{border-color:var(--accent)}
    .g-offer ::placeholder{color:#7b8ba5;opacity:1}
    .g-offer .card{background:var(--card);border-color:var(--line);box-shadow:var(--shadow)}
    .g-offer .section{border-color:#e1e8f2;background:#fff}
    .g-offer .item{border-color:var(--line);background:var(--soft)}
    .g-offer .item .img{border-color:var(--line);background:#fff}
    .g-offer .sku{color:#60708a}
    .g-offer .qty-step{border-color:#c8dcf5;background:#edf5ff;color:#086bc1}
    .g-offer .qty-step:hover{background:#e1efff}
    .g-offer .qty-picker{border-color:var(--line);background:#fff;box-shadow:0 20px 50px rgba(15,35,65,.18)}
    .g-offer .qty-choice{border-color:var(--line);background:#f7f9fc;color:#34445e}
    .g-offer .qty-choice:hover{background:#eaf4ff;border-color:#99c5ef}
    .g-offer .qty-choice.is-selected{background:var(--accent);color:#fff;border-color:var(--accent)}
    .g-offer .infoBtn{border-color:#c8dcf5;background:#edf5ff;color:#086bc1}
    .g-offer .infoBtn:hover{box-shadow:0 8px 18px rgba(8,116,209,.12)}
    .g-offer .checkline{color:var(--muted)}
    .g-offer .checkline label{color:#52637e!important}
    .g-offer .mountHint{border-color:var(--line);background:#fff}
    .g-offer .mountHint img{border-color:var(--line)}
    .g-offer .primary{background:var(--accent);border:1px solid var(--accent);color:#fff;box-shadow:none;font-weight:700}
    .g-offer .primary:hover{background:#0664b5}
    .g-offer .ghost{background:#edf5ff;border-color:#c8dcf5;color:#086bc1}
    .g-offer .mutebtn{background:#f5f7fb;border:1px solid var(--line);color:#34445e}
    .g-offer .removeOut{background:#fff1f2;border-color:#fecdd3;color:#b42336}
    .g-offer .divider{background:linear-gradient(90deg,transparent,var(--line),transparent)}
    .g-offer .gModalBack{background:rgba(15,23,42,.58)}
    .g-offer .gModal{background:#fff;border-color:var(--line)}
    .g-offer .gModalHead{background:linear-gradient(180deg,#f7fbff,#fff);border-bottom-color:var(--line)}
    .g-offer .gModalClose{border-color:var(--line);background:#fff;color:var(--text)}
    .g-offer .gModalBody{color:var(--text)}
    .g-offer .gModalBody p,
.g-offer .gModalBody ul{color:#42526b}
    .g-offer .choice-card{background:#fff;border-color:var(--line);box-shadow:none}
    .g-offer .choice-card strong{color:var(--text)}
    .g-offer .soft-info{border-color:#c8dcf5;background:#edf5ff;color:#174a78}
    .g-offer .legal-check{border-color:var(--line);background:#f8fafc;color:#42526b}
    .g-offer .legal-check a{color:var(--accent)}
    .g-offer .faq-grid details{background:#fff;border-color:var(--line)}
    .g-offer .faq-grid summary{color:var(--text)}
    .g-offer .faq-grid summary::after{color:var(--accent)}
    .g-offer .outside-card{border-color:var(--line);background:#fff}
    .g-offer .outside-summary{border-color:#c8dcf5;background:#f1f7ff}
    .g-offer .outside-summary-title{color:var(--text)}
    .g-offer .outside-summary-sub{color:#52637e}
    .g-offer .outside-badge{background:#fff;border-color:var(--line);color:#42526b}
    .g-offer .outside-section-label{color:#086bc1}
    .g-offer .outside-option-card{border-color:var(--line);background:#fff;color:var(--text);box-shadow:none}
    .g-offer .outside-option-card:hover{border-color:#99c5ef;box-shadow:none}
    .g-offer .outside-option-card.is-selected{border-color:var(--accent);background:#edf5ff}
    .g-offer .outside-option-card.is-selected::after{background:var(--accent);color:#fff}
    .g-offer .outside-option-title{color:var(--text)}
    .g-offer .outside-option-placeholder{border-color:#cfd9e8;color:var(--muted);background:#f8fafc}
    .g-offer .outside-empty{color:#a15c00}
    .g-offer .stepno{background:#edf5ff;border-color:#c8dcf5;color:#086bc1}
    .g-offer .summary dt{color:#60708a}

    /* Hero-Aufbau 1c */
    .g-offer .hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:30px;align-items:center}
    .g-offer .hero-kicker{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:.78rem;letter-spacing:.14em;color:#93c5fd;font-weight:600}
    .g-offer .hero-kicker::before{content:"";width:26px;height:2px;background:var(--accent)}
    .g-offer .hero-trust{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
    .g-offer .hero-trust li{display:flex;gap:10px;align-items:center;font-size:.9rem;color:#d5dcea}
    .g-offer .hero-trust .tick{width:20px;height:20px;flex:0 0 auto;border-radius:999px;border:1px solid rgba(96,165,250,.55);color:#93c5fd;display:grid;place-items:center;font-size:.68rem}
    .g-offer .hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:20px 0 4px}
    .g-offer .hero-cta{display:inline-flex;align-items:center;border:1px solid var(--accent);color:#bfdbfe;border-radius:10px;padding:12px 20px;font-weight:600;font-size:.95rem;text-decoration:none;transition:.15s ease}
    .g-offer .hero-cta:hover{background:rgba(96,165,250,.12);color:#bfdbfe}
    .g-offer .hero-callnote{font-size:.82rem;color:#64789a}
    .g-offer .hero-callnote a{color:#93a5c2;text-decoration:none;font-weight:700}
    .g-offer .hero-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
    .g-offer .hero-photos figure{margin:0;background:#1b2233;border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px #3f424d}
    .g-offer .hero-photos img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;background:#f4f8ff}
    .g-offer .hero-photos figcaption{padding:8px 10px;font-size:.72rem;color:var(--muted);letter-spacing:.04em}
    .g-offer .hero-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px -26px 0;padding:14px 26px;border-top:1px solid #2c3350}
    .g-offer .hero-steps li{display:flex;gap:12px;align-items:center;font-size:.82rem;color:var(--muted)}
    .g-offer .hero-steps strong{color:#93c5fd;font-weight:600}
    @media(max-width:900px){.g-offer .hero-grid{grid-template-columns:1fr}.g-offer .hero-steps{grid-template-columns:1fr;gap:8px}}
    /* Top-Navigation (1c) */
    .g-offer .topnav{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 4px;margin-bottom:14px;border-bottom:1px solid rgba(233,233,237,.1)}
    .g-offer .topnav-brand{display:flex;align-items:baseline;gap:10px}
    .g-offer .tb-name{font-weight:600;letter-spacing:.18em;font-size:15px;color:var(--text)}
    .g-offer .tb-sub{font-size:11px;color:#75798c;letter-spacing:.06em}
    .g-offer .topnav-links{display:flex;align-items:center;gap:18px;font-size:12.5px;color:#9397ab}
    .g-offer .topnav-phone{color:#bfdbfe;border:1px solid rgba(96,165,250,.5);border-radius:8px;padding:7px 12px;font-weight:500;text-decoration:none}
    .g-offer .topnav-phone:hover{background:rgba(96,165,250,.12);color:#bfdbfe}
    /* Seitenleisten-Layout (1c): Formular links, Zusammenfassung sticky rechts */
    .g-offer .advice-kicker{font-size:.72rem;letter-spacing:.12em;color:#93c5fd;font-weight:600;margin-bottom:6px}
    .g-offer .advice-phone{display:block;font-size:1.05rem;font-weight:600;color:var(--text);text-decoration:none}
    .g-offer .advice-phone:hover{color:#bfdbfe}
    .g-offer .advice-text{margin:6px 0 0;font-size:.8rem;color:#75798c}
    @media(min-width:1140px){
      .g-offer .stack{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:0 18px;align-items:start}
      .g-offer #offerForm{grid-column:1;grid-row:1}
      .g-offer #offerFaq{grid-column:1;grid-row:2}
      .g-offer .side{grid-column:2;grid-row:1 / span 2;align-self:start;position:static;max-height:none;overflow:visible}
      .g-offer .side .card{box-shadow:var(--shadow2)}
      .g-offer .side .summary{font-size:.92rem}
      .g-offer .stack > *{min-width:0}
      /* Kompakte Produktkarten wie 1c-Vorlage: Bild / Name+SKU / Stepper rechts */
      .g-offer #offerForm .grid-2 > .item{grid-template-columns:56px minmax(0,1fr) auto;grid-template-rows:auto}
      .g-offer #offerForm .grid-2 > .item .img{width:56px;height:56px;border-radius:10px}
      .g-offer #offerForm .grid-2 > .item .controls{justify-content:flex-end;flex-wrap:nowrap}
      .g-offer #offerForm .grid-2 > .item .checkline,
.g-offer #offerForm .grid-2 > .item .mountHint{grid-column:2 / -1}
      .g-offer #offerForm .qty-control{grid-template-columns:34px minmax(40px,52px) 34px;max-width:128px;gap:5px}
      .g-offer #offerForm .qty-step{width:34px;height:34px;min-width:34px;font-size:1.1rem;border-radius:10px}
      .g-offer #offerForm .qty-control .qty{height:34px;padding:4px 6px;border-radius:10px}
      .g-offer #offerForm .grid-2 .infoBtn{width:34px;height:34px;border-radius:10px}
    }
    /* 1c-Vorlage: ruhige Gewichte + schlichte SKU */
    .g-offer .sku{background:transparent;border:0;padding:0;color:#75798c;font-weight:500;font-size:.8rem}
    .g-offer .item .name{font-weight:600;font-size:.92rem}
    .g-offer .title,
.g-offer .project-choice-text strong,
.g-offer .outside-option-title,
.g-offer .outside-summary-title{font-weight:600}
    .g-offer button{font-weight:600}
    .g-offer label{font-weight:600}
    .g-offer .stepmeta h2{font-size:1.02rem}
    /* Segmentschalter Anschlussart */
    .g-offer .pl-seg{display:inline-flex;border:1px solid #3f424d;border-radius:12px;overflow:hidden;margin-bottom:4px;box-shadow:0 2px 8px rgba(15,35,65,.08)}
    .g-offer .pl-seg.has-selection{border-color:#0874d1;box-shadow:0 0 0 3px rgba(8,116,209,.12)}
    .g-offer .pl-seg-opt{background:transparent;border:0;border-radius:0;color:#9397ab;min-height:46px;padding:10px 20px;font-weight:700;font-size:.92rem;cursor:pointer;position:relative}
    .g-offer .pl-seg-opt + .pl-seg-opt{border-left:1px solid #3f424d}
    .g-offer .pl-seg-opt:hover{background:rgba(96,165,250,.08);transform:none}
    .g-offer .pl-seg-opt:focus-visible{outline:3px solid rgba(96,165,250,.55);outline-offset:-4px}
    .g-offer .pl-seg-opt.is-active{background:#0874d1;color:#fff}
    .g-offer .pl-seg-opt.is-active::before{content:"✓";display:inline-block;margin-right:8px;font-weight:800}
    .g-offer .pl-seg-state{display:block;margin-top:6px;color:#7a879b;font-size:.82rem;font-weight:600}
    .g-offer .pl-seg-state.is-selected{color:#086bc1}
    .g-offer .pl-hidden{position:absolute!important;width:1px;height:1px;opacity:0;pointer-events:none;margin:0;padding:0;border:0}
    .g-offer .doorcom-details[hidden]{display:none!important}
    .g-offer .doorcom-details{margin-top:8px}
    .g-offer .productline-row{justify-content:center}
    .g-offer .productline-choice{flex:0 1 auto;align-items:center;text-align:center;margin-inline:auto}
    .g-offer .project-area{--area-accent:#0874d1;--area-tint:#f2f8ff;border-top:4px solid var(--area-accent);border-radius:16px 16px 0 0;background:linear-gradient(180deg,var(--area-tint) 0,transparent 160px);padding:18px 14px 0;margin-top:8px}
    .g-offer .project-area .stepno{border-color:var(--area-accent);color:var(--area-accent);background:#fff}
    .g-offer .project-area-contact{--area-accent:#334e78;--area-tint:#f2f6fb;margin-top:0}
    .g-offer .project-area-door{--area-accent:#4f5fb8;--area-tint:#f1f3ff}
    .g-offer .project-area-video{--area-accent:#0874d1;--area-tint:#eff7ff}
    .g-offer .project-area-alarm{--area-accent:#b76a00;--area-tint:#fff7e8}
    .g-offer .project-area-request{--area-accent:#19724b;--area-tint:#eefaf4}
    /* Aufgeräumt wie 1c-Vorlage: keine gestrichelten Kästen, keine Zwischen-Hinweise */
    .g-offer .section{border:0;background:transparent;padding:0;margin:18px 0}
    .g-offer #monitors-2draht .title,
.g-offer #monitors-ip .title,
.g-offer #aussenWrap > .title{display:none}
    .g-offer #monitors-2draht .help,
.g-offer #monitors-ip .help,
.g-offer #aussenWrap > .help{display:none}
    .g-offer .item{border-radius:14px;padding:12px}
    .g-offer .item .meta{min-width:0}
    .g-offer .item .name{white-space:normal;overflow-wrap:anywhere}
    .g-offer .outside-card{border-radius:14px}


    /* ===== Shopware 6 Integration: full-width, collision-safe, light ===== */
    .g-offer .topnav{display:none!important}
    .g-offer .hero{
      background:linear-gradient(135deg,#ffffff 0%,#f4f8ff 72%,#e8f1ff 100%)!important;
      border:1px solid var(--line)!important;
      box-shadow:var(--shadow)!important;
      color:var(--text)!important;
    }
    .g-offer .hero:before{background:radial-gradient(circle at 30% 30%,rgba(8,116,209,.12),transparent 62%)!important}
    .g-offer .hero-kicker{color:#0874d1!important}
    .g-offer .hero-kicker::before{background:#0874d1!important}
    .g-offer .hero p{color:#5f708b!important}
    .g-offer .hero-trust li{color:#42526b!important}
    .g-offer .hero-trust .tick{border-color:#8dc1ef!important;color:#0874d1!important;background:#f5faff}
    .g-offer .hero-cta{border-color:#0874d1!important;background:#0874d1!important;color:#fff!important}
    .g-offer .hero-cta:hover{background:#0664b5!important;color:#fff!important}
    .g-offer .hero-callnote{color:#61718d!important}
    .g-offer .hero-callnote a{color:#34445e!important}
    .g-offer .hero-photos figure{background:#fff!important;box-shadow:0 0 0 1px var(--line)!important}
    .g-offer .hero-photos figcaption{background:#f7f9fc!important;color:#52637e!important}
    .g-offer .hero-steps{border-top-color:var(--line)!important}
    .g-offer .hero-steps li{color:#5f708b!important}
    .g-offer .hero-steps strong{color:#0874d1!important}
    .g-offer .pl-seg{border-color:#b9c9dc!important;background:#fff}
    .g-offer .pl-seg.has-selection{border-color:#0874d1!important}
    .g-offer .pl-seg-opt{color:#34445e!important;background:#fff!important}
    .g-offer .pl-seg-opt + .pl-seg-opt{border-left-color:#cfd9e8!important}
    .g-offer .pl-seg-opt:hover{background:#f1f7ff!important}
    .g-offer .pl-seg-opt.is-active{background:#0874d1!important;color:#fff!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.22)}
    .g-offer .advice-kicker{color:#0874d1!important}
    .g-offer .advice-phone{color:var(--text)!important}
    .g-offer .advice-text{color:#61718d!important}
    .g-offer .item .name{color:var(--text)!important}
    .g-offer .title{color:var(--text)!important}
    .g-offer .sub,
.g-offer .help,
.g-offer .note,
.g-offer .muted-inline{color:var(--muted)!important}
    .g-offer select option{background:#fff;color:var(--text)}

    @media(max-width:760px){
      .g-offer{padding:0 0 24px}
      .g-offer .hero{padding:20px 16px 0!important}
      .g-offer .hero-steps{margin:18px -16px 0!important;padding:14px 16px!important}
    }
  
.g-offer .tyc-offer-field--full{flex:1 1 100%}
.g-offer .tyc-offer-stephead--spaced{margin-top:6px}
.g-offer .tyc-offer-title--inline{display:flex;align-items:center;gap:10px;justify-content:flex-start;flex-wrap:wrap}
.g-offer .tyc-offer-soft-info--compact{margin-top:0;margin-bottom:14px}
.g-offer .tyc-offer-field--min{min-width:280px}
.g-offer .tyc-offer-item--wide-media{grid-template-columns:76px auto 1fr}
.g-offer .tyc-offer-controls--full{width:100%;justify-content:stretch;gap:10px}
.g-offer .tyc-offer-select--full{width:100%}
.g-offer .tyc-offer-title--spaced{margin-top:.8rem}
.g-offer .tyc-offer-label--emphasis{margin:0;font-weight:800;color:#475569}
.g-offer .tyc-offer-stephead--flush{margin-bottom:0}
