/* Pergolaris Configurator 1.2.1 – namespaced responsive UI, scenes and share flow. */
.pgx {
      --pgx-blue:#334fb4;
      --pgx-blue-dark:#243a86;
      --pgx-black:#111;
      --pgx-cream:#f7f4ec;
      --pgx-border:#ddd8cf;
      --pgx-muted:#6f6b63;
      --pgx-green:#32d74b;
      --pgx-shadow:0 22px 70px rgba(18,18,18,.12);
      --pgx-radius:22px;
      font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
      color:var(--pgx-black);
      isolation:isolate;
      min-width:0;
      position:relative;
      width:100%;
    }

    .pgx * { box-sizing:border-box; }
    .pgx button,
    .pgx input,
    .pgx select { font-family:inherit; }

    .pgx-screen-reader-text {
      border:0;
      clip:rect(1px,1px,1px,1px);
      clip-path:inset(50%);
      height:1px;
      margin:-1px;
      overflow:hidden;
      padding:0;
      position:absolute;
      width:1px;
      word-wrap:normal !important;
    }

    .pgx-mt-12 { margin-top:12px; }
    .pgx-grid-span-all { grid-column:1 / -1; }

    .pgx-wrap {
      max-width:1760px;
      margin:0 auto;
      display:grid;
      grid-template-columns:400px minmax(0,1fr);
      gap:22px;
      padding:18px;
      background:linear-gradient(180deg,#fff,var(--pgx-cream));
    }

    .pgx-card {
      background:#fff;
      border:1px solid var(--pgx-border);
      border-radius:var(--pgx-radius);
      box-shadow:var(--pgx-shadow);
      overflow:hidden;
    }

    .pgx-sidebar {
      align-self:start;
      position:sticky;
      top:20px;
      max-height:calc(100vh - 40px);
      overflow:auto;
    }

    .pgx-head {
      background:#7f9528;
      color:#fff;
      padding:25px 24px;
    }

    .pgx-head small {
      display:inline-block;
      color:#ffffff;
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.06em;
      margin-bottom:10px;
    }

    .pgx-head h2 {
      margin:0 0 8px;
      font-size:30px;
      line-height:1.05;
      letter-spacing:-.04em;
      color:#ffffff;
    }

    .pgx-head p {
      margin:0;
      color:rgba(255,255,255,.92);
      line-height:1.45;
    }

    .pgx-section {
      padding:22px 24px;
      border-bottom:1px solid var(--pgx-border);
    }

    .pgx-section:last-child { border-bottom:0; }

    .pgx-title {
      display:flex;
      justify-content:space-between;
      align-items:flex-end;
      gap:12px;
      margin-bottom:14px;
    }

    .pgx-title h3 {
      margin:0;
      font-size:17px;
      letter-spacing:-.02em;
    }

    .pgx-title span {
      color:var(--pgx-muted);
      font-size:12px;
    }

    .pgx-grid { display:grid; gap:12px; }
    .pgx-grid.two { grid-template-columns:1fr 1fr; }
    .pgx-grid.three { grid-template-columns:1fr 1fr 1fr; }

    .pgx-choice {
      border:1px solid var(--pgx-border);
      border-radius:16px;
      background:#fff;
      padding:14px;
      cursor:pointer;
      transition:.16s ease;
      min-height:74px;
      color:inherit;
      font:inherit;
      text-align:left;
      width:100%;
      -webkit-appearance:none;
      appearance:none;
    }

    .pgx-choice:hover {
      transform:translateY(-1px);
      border-color:#999;
    }

    .pgx-choice.active {
      border-color:var(--pgx-blue);
      background:rgba(51,79,180,.08);
      box-shadow:inset 0 0 0 1px var(--pgx-blue);
    }

    .pgx-choice.disabled {
      opacity:.38;
      cursor:not-allowed;
      filter:grayscale(1);
    }

    .pgx-choice strong {
      display:block;
      font-size:13px;
      margin-bottom:4px;
    }

    .pgx-choice strong + span {
      display:block;
      font-size:12px;
      color:var(--pgx-muted);
      line-height:1.35;
    }

    .pgx-color {
      display:flex;
      align-items:center;
      gap:11px;
      min-height:66px;
    }

    .pgx-swatch {
      width:25px;
      height:25px;
      border-radius:999px;
      border:1px solid rgba(0,0,0,.2);
      flex:0 0 auto;
    }

    .pgx-field { margin-bottom:16px; }
    .pgx-field:last-child { margin-bottom:0; }
    .pgx-zip-field { margin-top:14px; }

    .pgx-field label {
      display:flex;
      justify-content:space-between;
      gap:10px;
      margin-bottom:7px;
      font-size:12px;
      font-weight:900;
      color:var(--pgx-muted);
      text-transform:uppercase;
      letter-spacing:.04em;
    }

    .pgx-field input,
    .pgx-field select,
    .pgx-wall-box select {
      width:100%;
      min-height:48px;
      border:1px solid var(--pgx-border);
      border-radius:14px;
      padding:12px 14px;
      background:#fff;
      font:inherit;
      font-weight:750;
      outline:none;
      color:#111;
    }

    .pgx-field select,
    .pgx-wall-box select { padding-right:34px; }

    .pgx-field input:focus,
    .pgx-field select:focus,
    .pgx-wall-box select:focus {
      border-color:var(--pgx-blue);
      box-shadow:0 0 0 4px rgba(51,79,180,.1);
    }

    .pgx-field input[type="range"] {
      padding:0;
      min-height:auto;
      margin-top:10px;
      accent-color:var(--pgx-blue);
    }

    .pgx-note {
      margin-top:8px;
      color:var(--pgx-muted);
      font-size:12px;
      line-height:1.4;
    }

    .pgx-wall-selects {
      display:grid;
      grid-template-columns:1fr;
      gap:12px;
    }

    .pgx-wall-box {
      border:1px solid var(--pgx-border);
      border-radius:16px;
      padding:14px;
      background:#fff;
    }

    .pgx-wall-box h4 {
      margin:0 0 9px;
      font-size:14px;
    }

    .pgx-wall-box.disabled {
      opacity:.45;
      pointer-events:none;
    }

    .pgx-curtain-row {
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
      margin-top:10px;
    }

    .pgx-curtain-row label {
      display:block;
      margin:0 0 6px;
      color:var(--pgx-muted);
      font-size:11px;
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.04em;
    }

    .pgx-toggle {
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
      border:1px solid var(--pgx-border);
      border-radius:16px;
      background:#fff;
      padding:14px;
      cursor:pointer;
      min-height:78px;
      color:inherit;
      font:inherit;
      text-align:left;
      width:100%;
      -webkit-appearance:none;
      appearance:none;
    }

    .pgx-toggle.disabled {
      opacity:.42;
      cursor:not-allowed;
      filter:grayscale(1);
    }

    .pgx-toggle strong {
      display:block;
      font-size:13px;
      margin-bottom:3px;
    }

    .pgx-toggle strong + span {
      display:block;
      color:var(--pgx-muted);
      font-size:12px;
      line-height:1.35;
    }

    .pgx-switch {
      width:44px;
      height:24px;
      border-radius:999px;
      background:#d2d2d2;
      position:relative;
      flex:0 0 auto;
    }

    .pgx-switch:after {
      content:"";
      width:18px;
      height:18px;
      border-radius:999px;
      background:#fff;
      position:absolute;
      top:3px;
      left:3px;
      transition:.16s ease;
      box-shadow:0 2px 6px rgba(0,0,0,.18);
    }

    .pgx-toggle.active .pgx-switch { background:var(--pgx-blue); }
    .pgx-toggle.active .pgx-switch:after { transform:translateX(20px); }

    .pgx-price-floating {
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:16px;
      padding:18px 20px;
      border-bottom:1px solid var(--pgx-border);
      background:#fff;
    }

    .pgx-cta-group {
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:wrap;
      gap:8px;
    }

    .pgx-price-floating small {
      display:block;
      color:var(--pgx-muted);
      font-weight:800;
      text-transform:uppercase;
      letter-spacing:.06em;
      font-size:11px;
      margin-bottom:4px;
    }

    .pgx-total {
      font-size:32px;
      line-height:1;
      font-weight:950;
      letter-spacing:-.04em;
    }

    .pgx-btn {
      border:0;
      border-radius:999px;
      padding:15px 18px;
      background:var(--pgx-blue);
      color:#fff;
      font-weight:900;
      font-size:15px;
      cursor:pointer;
      box-shadow:0 12px 28px rgba(51,79,180,.25);
      transition:.16s ease;
      white-space:nowrap;
    }

    .pgx-btn:hover {
      background:var(--pgx-blue-dark);
      transform:translateY(-1px);
    }

    .pgx-btn-secondary {
      background:#fff;
      color:var(--pgx-blue);
      border:1px solid rgba(51,79,180,.34);
      box-shadow:none;
    }

    .pgx-btn-secondary:hover,
    .pgx-btn-secondary:focus {
      background:rgba(51,79,180,.07);
      color:var(--pgx-blue-dark);
    }

    .pgx-btn-tertiary {
      padding:10px 14px;
      color:#45413a;
      background:#f2efe8;
      box-shadow:none;
      font-size:13px;
    }

    .pgx-btn-tertiary:hover,
    .pgx-btn-tertiary:focus {
      color:#111;
      background:#e6e1d7;
    }

    .pgx button.pgx-btn,
    .pgx button.pgx-btn:hover,
    .pgx button.pgx-btn:active,
    .pgx button.pgx-btn:focus {
      color:#fff !important;
      -webkit-text-fill-color:#fff !important;
    }

    .pgx button.pgx-btn-secondary,
    .pgx button.pgx-btn-secondary:hover,
    .pgx button.pgx-btn-secondary:active,
    .pgx button.pgx-btn-secondary:focus {
      color:var(--pgx-blue) !important;
      -webkit-text-fill-color:var(--pgx-blue) !important;
      background:#fff !important;
    }

    .pgx button.pgx-btn-tertiary,
    .pgx button.pgx-btn-tertiary:hover,
    .pgx button.pgx-btn-tertiary:active,
    .pgx button.pgx-btn-tertiary:focus {
      color:#111 !important;
      -webkit-text-fill-color:#111 !important;
      background:#f2efe8 !important;
    }

    .pgx-btn.loading {
      opacity:.65;
      pointer-events:none;
    }

    .pgx-btn:disabled {
      cursor:not-allowed;
      filter:grayscale(.4);
      opacity:.58;
      transform:none;
    }

    .pgx-message {
      margin-top:11px;
      font-size:13px;
      line-height:1.4;
      color:var(--pgx-muted);
    }

    .pgx-stage-card {
      display:grid;
      grid-template-rows:auto auto minmax(520px,620px) auto;
      min-height:0;
      min-width:0;
    }

    .pgx-stage-top {
      padding:18px 20px;
      border-bottom:1px solid var(--pgx-border);
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:16px;
    }

    .pgx-stage-top h3 { margin:0 0 4px; font-size:19px; }
    .pgx-stage-top p { margin:0; color:var(--pgx-muted); font-size:13px; }

    .pgx-tabs {
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }

    .pgx-tab {
      border:1px solid var(--pgx-border);
      background:#fff;
      color:#111;
      border-radius:999px;
      padding:10px 13px;
      font-weight:850;
      font-size:13px;
      cursor:pointer;
    }

    .pgx-tab.active {
      background:var(--pgx-black);
      color:#fff;
      border-color:var(--pgx-black);
    }

    /* 1.1 theme hardening: Astra/Elementor must not turn text white on light controls. */
    .pgx button.pgx-choice,
    .pgx button.pgx-choice:hover,
    .pgx button.pgx-choice:active,
    .pgx button.pgx-choice:focus,
    .pgx button.pgx-choice.active,
    .pgx button.pgx-choice[aria-pressed="true"],
    .pgx button.pgx-toggle,
    .pgx button.pgx-toggle:hover,
    .pgx button.pgx-toggle:active,
    .pgx button.pgx-toggle:focus,
    .pgx button.pgx-toggle.active,
    .pgx button.pgx-toggle[aria-pressed="true"],
    .pgx button.pgx-tab,
    .pgx button.pgx-tab:hover,
    .pgx button.pgx-tab:active,
    .pgx button.pgx-tab:focus {
      color:#111 !important;
      -webkit-text-fill-color:#111 !important;
    }

    .pgx button.pgx-choice,
    .pgx button.pgx-choice:hover,
    .pgx button.pgx-choice:active,
    .pgx button.pgx-choice:focus,
    .pgx button.pgx-toggle,
    .pgx button.pgx-toggle:hover,
    .pgx button.pgx-toggle:active,
    .pgx button.pgx-toggle:focus,
    .pgx button.pgx-toggle.active,
    .pgx button.pgx-toggle[aria-pressed="true"],
    .pgx button.pgx-tab,
    .pgx button.pgx-tab:hover,
    .pgx button.pgx-tab:active,
    .pgx button.pgx-tab:focus {
      background:#fff !important;
    }

    .pgx button.pgx-choice.active,
    .pgx button.pgx-choice.active:hover,
    .pgx button.pgx-choice.active:active,
    .pgx button.pgx-choice.active:focus,
    .pgx button.pgx-choice[aria-pressed="true"],
    .pgx button.pgx-choice[aria-pressed="true"]:hover,
    .pgx button.pgx-choice[aria-pressed="true"]:active,
    .pgx button.pgx-choice[aria-pressed="true"]:focus {
      background:rgba(51,79,180,.08) !important;
      border-color:var(--pgx-blue) !important;
      box-shadow:inset 0 0 0 1px var(--pgx-blue);
    }

    .pgx button.pgx-choice strong,
    .pgx button.pgx-choice:hover strong,
    .pgx button.pgx-choice:active strong,
    .pgx button.pgx-choice:focus strong,
    .pgx button.pgx-choice.active strong,
    .pgx button.pgx-choice[aria-pressed="true"] strong,
    .pgx button.pgx-toggle strong,
    .pgx button.pgx-toggle:hover strong,
    .pgx button.pgx-toggle:active strong,
    .pgx button.pgx-toggle:focus strong,
    .pgx button.pgx-toggle.active strong,
    .pgx button.pgx-toggle[aria-pressed="true"] strong {
      color:#111 !important;
      -webkit-text-fill-color:#111 !important;
    }

    .pgx button.pgx-choice strong + span,
    .pgx button.pgx-choice:hover strong + span,
    .pgx button.pgx-choice:active strong + span,
    .pgx button.pgx-choice:focus strong + span,
    .pgx button.pgx-choice.active strong + span,
    .pgx button.pgx-choice[aria-pressed="true"] strong + span,
    .pgx button.pgx-toggle strong + span,
    .pgx button.pgx-toggle:hover strong + span,
    .pgx button.pgx-toggle:active strong + span,
    .pgx button.pgx-toggle:focus strong + span,
    .pgx button.pgx-toggle.active strong + span,
    .pgx button.pgx-toggle[aria-pressed="true"] strong + span {
      color:var(--pgx-muted) !important;
      -webkit-text-fill-color:var(--pgx-muted) !important;
    }

    .pgx button.pgx-tab.active,
    .pgx button.pgx-tab.active:hover,
    .pgx button.pgx-tab.active:active,
    .pgx button.pgx-tab.active:focus,
    .pgx button.pgx-tab[aria-pressed="true"],
    .pgx button.pgx-tab[aria-pressed="true"]:hover,
    .pgx button.pgx-tab[aria-pressed="true"]:active,
    .pgx button.pgx-tab[aria-pressed="true"]:focus {
      background:var(--pgx-black) !important;
      border-color:var(--pgx-black) !important;
      color:#fff !important;
      -webkit-text-fill-color:#fff !important;
    }

    .pgx button.pgx-choice:focus,
    .pgx button.pgx-toggle:focus,
    .pgx button.pgx-tab:focus {
      outline:3px solid rgba(51,79,180,.48) !important;
      outline-offset:2px !important;
    }

    .pgx-stage {
      position:relative;
      background:
        radial-gradient(circle at 52% 18%,rgba(255,255,255,.96),rgba(255,255,255,0) 42%),
        linear-gradient(180deg,#f6f3ec,#e5dfd2);
      overflow:hidden;
      touch-action:pan-y pinch-zoom;
      overscroll-behavior:contain;
      cursor:grab;
      user-select:none;
      -webkit-user-select:none;
      -webkit-tap-highlight-color:transparent;
      transition:background-color .32s ease;
    }

    .pgx-stage:active,
    .pgx-stage.pgx-stage-dragging { cursor:grabbing; }

    .pgx[data-pgx-scene-mode="sun"] .pgx-stage {
      background:linear-gradient(180deg,#b9dcf4,#f8f1d7);
    }

    .pgx[data-pgx-scene-mode="rain"] .pgx-stage {
      background:linear-gradient(180deg,#899aa7,#d6dde0);
    }

    .pgx[data-pgx-scene-mode="evening"] .pgx-stage {
      background:linear-gradient(180deg,#785d80,#f1a56e);
    }

    .pgx[data-pgx-scene-mode="night"] .pgx-stage {
      background:linear-gradient(180deg,#11182d,#39435e);
    }

    .pgx-stage svg {
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      display:block;
      user-select:none;
      pointer-events:none;
      contain:paint;
    }
    .pgx-stage text { user-select:none; pointer-events:none; }

    .pgx-scene-modes {
      position:absolute;
      z-index:4;
      top:12px;
      left:50%;
      transform:translateX(-50%);
      display:flex;
      align-items:center;
      gap:5px;
      padding:5px;
      max-width:calc(100% - 24px);
      border:1px solid rgba(255,255,255,.68);
      border-radius:999px;
      background:rgba(255,255,255,.78);
      box-shadow:0 8px 25px rgba(24,28,31,.14);
      backdrop-filter:blur(12px);
      -webkit-backdrop-filter:blur(12px);
      cursor:default;
    }

    .pgx-scene-mode {
      display:flex;
      align-items:center;
      justify-content:center;
      gap:5px;
      min-height:34px;
      padding:7px 10px;
      border:0;
      border-radius:999px;
      background:transparent;
      color:#35322d;
      font:inherit;
      font-size:12px;
      font-weight:850;
      line-height:1;
      cursor:pointer;
      white-space:nowrap;
      -webkit-appearance:none;
      appearance:none;
    }

    .pgx button.pgx-scene-mode:hover,
    .pgx button.pgx-scene-mode:focus {
      background:rgba(17,17,17,.07) !important;
      color:#111 !important;
      -webkit-text-fill-color:#111 !important;
    }

    .pgx button.pgx-scene-mode.active,
    .pgx button.pgx-scene-mode[aria-pressed="true"],
    .pgx button.pgx-scene-mode.active:hover,
    .pgx button.pgx-scene-mode.active:focus {
      background:#111 !important;
      color:#fff !important;
      -webkit-text-fill-color:#fff !important;
      box-shadow:0 5px 14px rgba(0,0,0,.22);
    }

    .pgx button.pgx-scene-mode:focus-visible {
      outline:3px solid rgba(51,79,180,.55) !important;
      outline-offset:2px;
    }

    .pgx[data-pgx-scene-mode="night"] .pgx-scene-modes,
    .pgx[data-pgx-scene-mode="evening"] .pgx-scene-modes {
      border-color:rgba(255,255,255,.2);
      background:rgba(20,24,34,.72);
    }

    .pgx[data-pgx-scene-mode="night"] button.pgx-scene-mode,
    .pgx[data-pgx-scene-mode="evening"] button.pgx-scene-mode {
      color:#f7f7f7 !important;
      -webkit-text-fill-color:#f7f7f7 !important;
    }

    .pgx[data-pgx-scene-mode="night"] button.pgx-scene-mode.active,
    .pgx[data-pgx-scene-mode="evening"] button.pgx-scene-mode.active {
      background:#fff !important;
      color:#111 !important;
      -webkit-text-fill-color:#111 !important;
    }

    .pgx .pgx-svg-louver-shadow {
      vector-effect:non-scaling-stroke;
      transition:opacity .2s linear;
    }

    .pgx .pgx-svg-post-shadow,
    .pgx .pgx-svg-beam-shadow,
    .pgx .pgx-svg-wall-shadow {
      vector-effect:non-scaling-stroke;
      transition:opacity .2s linear;
    }

    .pgx .pgx-svg-led-ground-light {
      animation:pgx-floor-light 3.8s ease-in-out infinite;
      transform-box:fill-box;
      transform-origin:center;
    }

    .pgx .pgx-svg-alu-backing,
    .pgx .pgx-svg-alu-panel,
    .pgx .pgx-svg-curtain-fold,
    .pgx .pgx-svg-zip-fabric {
      fill-opacity:1;
    }

    .pgx .pgx-svg-zip-fabric {
      shape-rendering:geometricPrecision;
    }

    .pgx .pgx-svg-rain-drop {
      animation:pgx-rain-fall 1.15s linear infinite;
      vector-effect:non-scaling-stroke;
    }

    .pgx .pgx-svg-puddle-ring {
      animation:pgx-puddle-ring 2s ease-out infinite;
      transform-box:fill-box;
      transform-origin:center;
    }

    .pgx .pgx-svg-star {
      animation:pgx-star-twinkle 3.4s ease-in-out infinite alternate;
    }

    .pgx .pgx-svg-profile-details line,
    .pgx .pgx-svg-profile-details circle,
    .pgx .pgx-svg-louver-rib,
    .pgx .pgx-svg-glass-highlight,
    .pgx .pgx-svg-heater-element,
    .pgx .pgx-svg-sensor-wave {
      vector-effect:non-scaling-stroke;
    }

    .pgx .pgx-svg-led { animation:pgx-led-breathe 2.8s ease-in-out infinite; }
    .pgx .pgx-svg-heater-glow { animation:pgx-heater-breathe 1.85s ease-in-out infinite; transform-box:fill-box; transform-origin:center; }
    .pgx .pgx-svg-heater-element { animation:pgx-heater-element 1.35s ease-in-out infinite alternate; }
    .pgx .pgx-svg-sensor-wave { animation:pgx-sensor-wave 2.4s ease-out infinite; transform-box:fill-box; transform-origin:center bottom; }
    .pgx .pgx-svg-sensor-wave-outer { animation-delay:.42s; }
    .pgx .pgx-svg-glass-highlight { animation:pgx-glass-glint 5.4s ease-in-out infinite; }
    .pgx .pgx-svg-curtain-fold { transition:opacity .2s ease; }

    @keyframes pgx-led-breathe {
      0%,100% { opacity:.7; }
      50% { opacity:1; }
    }

    @keyframes pgx-floor-light {
      0%,100% { filter:brightness(.96); }
      50% { filter:brightness(1.08); }
    }

    @keyframes pgx-heater-breathe {
      0%,100% { opacity:.3; transform:scale(.98); }
      50% { opacity:.52; transform:scale(1.025); }
    }

    @keyframes pgx-heater-element {
      from { opacity:.72; }
      to { opacity:1; }
    }

    @keyframes pgx-sensor-wave {
      0% { opacity:.65; transform:scale(.82); }
      72%,100% { opacity:.05; transform:scale(1.12); }
    }

    @keyframes pgx-glass-glint {
      0%,78%,100% { opacity:.38; }
      86% { opacity:.82; }
    }

    @keyframes pgx-rain-fall {
      from { transform:translate3d(0,-18px,0); opacity:0; }
      18% { opacity:.72; }
      to { transform:translate3d(-12px,42px,0); opacity:0; }
    }

    @keyframes pgx-puddle-ring {
      0% { opacity:.45; transform:scale(.45); }
      82%,100% { opacity:0; transform:scale(1.3); }
    }

    @keyframes pgx-star-twinkle {
      from { opacity:.35; }
      to { opacity:.95; }
    }

    .pgx-hint { display:none; }

    .pgx-meta {
      display:grid;
      grid-template-columns:1fr;
      gap:10px;
      padding:16px 18px;
      border-top:1px solid var(--pgx-border);
    }

    .pgx-meta div {
      border:1px solid var(--pgx-border);
      border-radius:16px;
      padding:13px;
      background:#fff;
    }

    .pgx-meta b { display:block; font-size:13px; margin-bottom:4px; }
    .pgx-meta small { color:var(--pgx-muted); line-height:1.35; }

    .pgx-cost-breakdown {
      display:grid;
      gap:8px;
    }

    .pgx-price-row {
      display:flex;
      justify-content:space-between;
      gap:14px;
      margin-bottom:8px;
      font-size:14px;
    }

    .pgx-price-row span:first-child { color:var(--pgx-muted); }
    .pgx-price-row strong { text-align:right; }

    .pgx-hidden { display:none !important; }

    .pgx-dialog {
      width:min(720px,calc(100vw - 28px));
      max-width:720px;
      max-height:min(90dvh,860px);
      margin:auto;
      padding:0;
      border:0;
      border-radius:24px;
      color:#111;
      background:#fff;
      box-shadow:0 28px 90px rgba(0,0,0,.34);
      overflow:hidden;
    }

    .pgx-dialog::backdrop {
      background:rgba(12,15,20,.64);
      backdrop-filter:blur(4px);
      -webkit-backdrop-filter:blur(4px);
    }

    .pgx-dialog.pgx-dialog-fallback {
      position:fixed;
      z-index:2147483000;
      inset:50% auto auto 50%;
      transform:translate(-50%,-50%);
      display:block;
      box-shadow:0 0 0 100vmax rgba(12,15,20,.64),0 28px 90px rgba(0,0,0,.34);
    }

    .pgx-dialog-panel {
      position:relative;
      max-height:min(90dvh,860px);
      overflow:auto;
      padding:28px;
      overscroll-behavior:contain;
    }

    .pgx-dialog-close {
      position:absolute;
      z-index:2;
      top:14px;
      right:14px;
      width:40px;
      height:40px;
      display:grid;
      place-items:center;
      padding:0;
      border:0;
      border-radius:999px;
      color:#222;
      background:#f0eee9;
      font-size:27px;
      line-height:1;
      cursor:pointer;
    }

    .pgx-dialog-close:hover,
    .pgx-dialog-close:focus { background:#dfdbd2; color:#111; }

    .pgx-dialog-kicker {
      display:block;
      margin:0 48px 7px 0;
      color:#71851f;
      font-size:11px;
      font-weight:950;
      letter-spacing:.08em;
      text-transform:uppercase;
    }

    .pgx-dialog-head h3 {
      margin:0 48px 8px 0;
      color:#111;
      font-size:27px;
      line-height:1.12;
      letter-spacing:-.035em;
    }

    .pgx-dialog-head p {
      margin:0;
      color:var(--pgx-muted);
      line-height:1.5;
    }

    .pgx-dialog-status {
      display:flex;
      align-items:center;
      gap:10px;
      margin-top:20px;
      padding:13px 15px;
      border-radius:14px;
      color:#45413a;
      background:#f5f2eb;
      font-size:13px;
      font-weight:750;
    }

    .pgx-dialog-status.is-error {
      color:#8e241e;
      background:#fff0ee;
    }

    .pgx-dialog-status.is-success {
      color:#315c25;
      background:#edf7e9;
    }

    .pgx-dialog-spinner {
      width:17px;
      height:17px;
      flex:0 0 auto;
      border:2px solid rgba(51,79,180,.2);
      border-top-color:var(--pgx-blue);
      border-radius:50%;
      animation:pgx-spin .75s linear infinite;
    }

    .pgx-dialog-status.is-error .pgx-dialog-spinner,
    .pgx-dialog-status.is-success .pgx-dialog-spinner { display:none; }

    @keyframes pgx-spin { to { transform:rotate(360deg); } }

    .pgx-share-result {
      margin-top:16px;
      padding:18px;
      border:1px solid #dfe6c3;
      border-radius:18px;
      background:#fbfcf6;
    }

    .pgx-config-id-row {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-bottom:15px;
      color:var(--pgx-muted);
      font-size:12px;
      font-weight:800;
    }

    .pgx-config-id-row strong {
      padding:7px 10px;
      border-radius:9px;
      color:#111;
      background:#fff;
      font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
      font-size:14px;
      letter-spacing:.04em;
    }

    .pgx-dialog-label,
    .pgx-dialog-field label {
      display:block;
      margin-bottom:6px;
      color:#4c4841;
      font-size:12px;
      font-weight:850;
    }

    .pgx-dialog-field label small { color:var(--pgx-muted); font-weight:650; }

    .pgx-copy-row {
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      gap:8px;
    }

    .pgx-copy-row input,
    .pgx-dialog-field input,
    .pgx-dialog-field textarea {
      width:100%;
      min-height:46px;
      padding:11px 13px;
      border:1px solid var(--pgx-border);
      border-radius:12px;
      outline:none;
      color:#111;
      background:#fff;
      font:inherit;
      font-size:14px;
    }

    .pgx-dialog-field textarea { min-height:96px; resize:vertical; }

    .pgx-copy-row input:focus,
    .pgx-dialog-field input:focus,
    .pgx-dialog-field textarea:focus {
      border-color:var(--pgx-blue);
      box-shadow:0 0 0 3px rgba(51,79,180,.11);
    }

    .pgx-dialog-field input[aria-invalid="true"],
    .pgx-dialog-field textarea[aria-invalid="true"] {
      border-color:#b7342c;
      box-shadow:0 0 0 3px rgba(183,52,44,.1);
    }

    .pgx-copy-btn {
      min-height:46px;
      padding:10px 14px;
      border:0;
      border-radius:12px;
      color:#fff;
      background:#111;
      font:inherit;
      font-size:13px;
      font-weight:850;
      cursor:pointer;
    }

    .pgx-copy-btn:hover,
    .pgx-copy-btn:focus { background:#333; color:#fff; }

    .pgx-share-actions { margin-top:13px; }

    .pgx-pdf-link {
      display:inline-flex;
      align-items:center;
      min-height:40px;
      padding:9px 13px;
      border:1px solid rgba(51,79,180,.25);
      border-radius:999px;
      color:var(--pgx-blue);
      background:#fff;
      font-size:13px;
      font-weight:850;
      text-decoration:none;
    }

    .pgx-pdf-link:hover,
    .pgx-pdf-link:focus { color:var(--pgx-blue-dark); background:rgba(51,79,180,.05); }

    .pgx-pdf-disclaimer {
      margin:12px 0 0;
      color:#6d665b;
      font-size:11px;
      line-height:1.45;
    }

    .pgx-inquiry {
      margin-top:18px;
      padding-top:18px;
      border-top:1px solid var(--pgx-border);
    }

    .pgx-inquiry-heading h4 { margin:0 0 4px; font-size:19px; }
    .pgx-inquiry-heading p { margin:0 0 15px; color:var(--pgx-muted); font-size:13px; }

    .pgx-inquiry-grid {
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:13px;
    }

    .pgx-privacy {
      display:flex;
      align-items:flex-start;
      gap:9px;
      color:#45413a;
      font-size:12px;
      line-height:1.45;
      cursor:pointer;
    }

    .pgx-privacy input {
      width:18px;
      height:18px;
      flex:0 0 auto;
      margin:1px 0 0;
      accent-color:var(--pgx-blue);
    }

    .pgx-privacy a {
      color:var(--pgx-blue);
      font-weight:800;
      text-decoration:underline;
      text-underline-offset:2px;
    }

    .pgx-privacy.is-invalid { color:#9c2923; }

    .pgx-honeypot {
      position:absolute !important;
      left:-10000px !important;
      width:1px !important;
      height:1px !important;
      overflow:hidden !important;
    }

    .pgx-inquiry-feedback {
      min-height:19px;
      margin:12px 0 8px;
      color:#8e241e;
      font-size:12px;
      font-weight:750;
    }

    .pgx-inquiry-feedback.is-success { color:#315c25; }
    .pgx-inquiry-submit { width:100%; }

    body.pgx-dialog-open { overflow:hidden; }

    .pgx.pgx-reduced-motion .pgx-svg-led,
    .pgx.pgx-reduced-motion .pgx-svg-heater-glow,
    .pgx.pgx-reduced-motion .pgx-svg-heater-element,
    .pgx.pgx-reduced-motion .pgx-svg-sensor-wave,
    .pgx.pgx-reduced-motion .pgx-svg-glass-highlight,
    .pgx.pgx-reduced-motion .pgx-svg-rain-drop,
    .pgx.pgx-reduced-motion .pgx-svg-puddle-ring,
    .pgx.pgx-reduced-motion .pgx-svg-star,
    .pgx.pgx-reduced-motion .pgx-dialog-spinner {
      animation:none !important;
    }

    @media(prefers-reduced-motion:reduce){
      .pgx .pgx-svg-led,
      .pgx .pgx-svg-heater-glow,
      .pgx .pgx-svg-heater-element,
      .pgx .pgx-svg-sensor-wave,
      .pgx .pgx-svg-glass-highlight,
      .pgx .pgx-svg-rain-drop,
      .pgx .pgx-svg-puddle-ring,
      .pgx .pgx-svg-star,
      .pgx .pgx-svg-led-ground-light,
      .pgx .pgx-dialog-spinner {
        animation:none !important;
      }
      .pgx .pgx-svg-curtain-fold,
      .pgx .pgx-choice,
      .pgx .pgx-btn,
      .pgx .pgx-switch:after,
      .pgx-stage { transition:none !important; }
    }

    @media(hover:none){
      .pgx-stage { cursor:default; }
      .pgx-stage.pgx-stage-dragging { cursor:grabbing; }
    }

    @media(max-width:1100px){
      .pgx-wrap { grid-template-columns:1fr; }
      .pgx-sidebar { position:static; max-height:none; order:2; }
      .pgx-stage-card { order:1; grid-template-rows:auto auto 460px auto; }
      .pgx-meta { grid-template-columns:1fr 1fr; }
    }

    @media(max-width:700px){
      .pgx {
        --pgx-mobile-sticky-offset:64px;
      }
      .admin-bar .pgx {
        --pgx-mobile-sticky-offset:110px;
      }
      .pgx-wrap {
        display:grid;
        grid-template-columns:1fr;
        padding:10px;
        overflow:visible;
        position:relative;
      }
      .pgx-grid.two,
      .pgx-grid.three,
      .pgx-meta,
      .pgx-curtain-row { grid-template-columns:1fr; }
      .pgx-stage-card {
        position:relative;
        z-index:40;
        width:100%;
        order:1;
        display:grid;
        grid-template-rows:auto auto;
        min-height:0;
        border-radius:18px;
        box-shadow:0 16px 38px rgba(0,0,0,.16);
      }
      .pgx-stage-card.pgx-mobile-fixed {
        position:fixed !important;
        top:var(--pgx-mobile-sticky-offset);
        left:var(--pgx-mobile-fixed-left,10px);
        width:var(--pgx-mobile-fixed-width,calc(100% - 20px));
        z-index:10;
      }
      .pgx-stage-card.pgx-mobile-bottom {
        position:absolute !important;
        top:var(--pgx-mobile-bottom-top,0px);
        left:var(--pgx-mobile-abs-left,10px);
        width:var(--pgx-mobile-fixed-width,calc(100% - 20px));
        z-index:40;
      }
      .pgx-mobile-sticky-placeholder {
        display:none;
        order:1;
        width:100%;
      }
      .pgx-mobile-sticky-placeholder.active {
        display:block;
      }
      .pgx-wrap.pgx-mobile-sticky-active {
        padding-bottom:calc(var(--pgx-mobile-card-height,0px) + 10px);
      }
      .pgx-stage-top,
      .pgx-meta { display:none !important; }
      .pgx-stage {
        height:clamp(205px,58vw,245px);
        min-height:clamp(205px,58vw,245px);
      }
      .pgx-price-floating {
        align-items:center;
        flex-direction:row;
        padding:10px 12px;
        gap:10px;
      }
      .pgx-price-floating small {
        font-size:9px;
        margin-bottom:2px;
      }
      .pgx-total { font-size:24px; }
      .pgx-btn {
        width:auto;
        padding:10px 13px;
        font-size:13px;
      }
      .pgx-cta-group {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:6px;
      }
      .pgx-cta-group .pgx-btn {
        width:100%;
        min-height:38px;
        padding:8px 10px;
        font-size:11px;
        white-space:normal;
        line-height:1.15;
      }
      .pgx-cta-group .pgx-btn-tertiary { grid-column:1 / -1; }
      .pgx-scene-modes {
        top:8px;
        gap:3px;
        padding:4px;
      }
      .pgx-scene-mode {
        min-height:31px;
        padding:6px 8px;
        font-size:10px;
      }
      .pgx-dialog-panel { padding:23px 17px; }
      .pgx-dialog-head h3 { font-size:23px; }
      .pgx-inquiry-grid { grid-template-columns:1fr; }
      .pgx-copy-row { grid-template-columns:1fr; }
      .pgx-copy-btn { width:100%; }
      .pgx-sidebar {
        position:static;
        max-height:none;
        overflow:visible;
        order:2;
      }
    }


    /* Desktop/PC erzwingen: Auswahl links, 3D rechts. Mobile Sticky bleibt nur unter 700px aktiv. */
    @media(min-width:701px){
      .pgx-wrap {
        display:grid !important;
        grid-template-columns:minmax(360px,400px) minmax(0,1fr) !important;
      }
      .pgx-sidebar {
        position:sticky !important;
        top:20px !important;
        max-height:calc(100vh - 40px) !important;
        overflow:auto !important;
        order:0 !important;
      }
      .pgx-stage-card {
        position:relative !important;
        top:auto !important;
        left:auto !important;
        width:auto !important;
        order:0 !important;
        align-self:start !important;
        grid-template-rows:auto auto 620px auto !important;
        min-height:0 !important;
      }
      .pgx-stage-card.pgx-mobile-fixed,
      .pgx-stage-card.pgx-mobile-bottom {
        position:relative !important;
        top:auto !important;
        left:auto !important;
        width:auto !important;
      }
      .pgx-mobile-sticky-placeholder {
        display:none !important;
        height:0 !important;
      }
      .pgx-meta {
        grid-template-columns:repeat(4,1fr) !important;
      }
    }
