.podsady-configurator, .podsady-cenik {
  --podsady-bg-elevated: #F8F3E7;
  --podsady-ink: #23302A;
  --podsady-ink-soft: #57614F;
  --podsady-accent: #A15A2E;
  --podsady-accent-soft: #E7CBA9;
  --podsady-canvas: #C9B37D;
  --podsady-canvas-soft: #E3D6AE;
  --podsady-line: #7A8C79;
  --podsady-border: #CBBE9C;
  --podsady-radius: 6px;
  --podsady-font-display: 'Space Grotesk', 'Arial Narrow', sans-serif;
  --podsady-font-body: 'Inter', system-ui, -apple-system, sans-serif;

  font-family: var(--podsady-font-body);
  font-size: calc(1em * var(--podsady-font-scale, 1));
  color: var(--podsady-ink);
  line-height: 1.5;
  box-sizing: border-box;
  max-width: 1100px;
  margin: 0 auto;
}
.podsady-configurator *, .podsady-cenik *, .podsady-configurator *::before, .podsady-configurator *::after {
  box-sizing: border-box;
}

/* ---------- admin warning ---------- */
.podsady-admin-warning {
  background: #F6E3D6;
  border: 1px solid var(--podsady-accent);
  color: var(--podsady-ink);
  padding: 10px 14px;
  border-radius: var(--podsady-radius);
  font-size: 0.85em;
  margin-bottom: 16px;
}

/* ---------- layout ---------- */
.podsady-layout { display: grid; grid-template-columns: 340px 1fr; gap: 28px; align-items: start; }
@media (max-width: 860px) { .podsady-layout { grid-template-columns: 1fr; } }

.podsady-diagram-panel {
  position: sticky; top: 20px;
  background: var(--podsady-bg-elevated);
  border: 1px solid var(--podsady-border);
  border-radius: var(--podsady-radius);
  padding: 16px 16px 14px;
}
@media (max-width: 860px) { .podsady-diagram-panel { position: static; } }

.podsady-stepper { display:flex; align-items:center; border:1px solid var(--podsady-border); border-radius:var(--podsady-radius); overflow:hidden; flex:none; }
.podsady-stepper button { background:none; border:none; color:var(--podsady-ink); width:26px; height:26px; font-size:1em; cursor:pointer; }
.podsady-stepper button:hover { background:var(--podsady-accent-soft); }
.podsady-stepper span { min-width:22px; text-align:center; font-size:0.87em; font-weight:600; }

.podsady-diagram-block + .podsady-diagram-block { margin-top:16px; padding-top:16px; border-top:1px dashed var(--podsady-border); }
.podsady-view-label { font-size:0.76em; color:var(--podsady-ink-soft); margin:0 0 6px; }
.podsady-svg-wrap svg { width:100%; height:auto; display:block; }

.podsady-price-total { display:flex; align-items:baseline; justify-content:space-between; margin-top:14px; padding-top:12px; border-top:1px solid var(--podsady-border); }
.podsady-price-label { font-size:0.8em; color:var(--podsady-ink-soft); }
.podsady-price-value { font-family:var(--podsady-font-display); font-size:1.35em; font-weight:600; transition:color .2s ease; }
.podsady-price-value.podsady-pulse { color:var(--podsady-accent); }

.podsady-options-panel { display:flex; flex-direction:column; gap:26px; }
.podsady-option-group h2 { font-family:var(--podsady-font-display); font-weight:600; font-size:1.05em; margin:0 0 12px; }

/* ---------- package cards ---------- */
.podsady-package-cards { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:10px; }
.podsady-package-card {
  text-align:left; background:var(--podsady-bg-elevated); border:1px solid var(--podsady-border);
  border-radius:var(--podsady-radius); padding:12px 12px 14px; font-family:var(--podsady-font-body);
  color:var(--podsady-ink);
}
.podsady-package-card[data-selected="true"] { border-color:var(--podsady-accent); background:var(--podsady-accent-soft); }
.podsady-card-name { font-weight:600; font-size:0.92em; margin-bottom:4px; }
.podsady-card-desc { font-size:0.78em; color:var(--podsady-ink-soft); margin-bottom:10px; min-height:32px; }
.podsady-card-price { font-family:var(--podsady-font-display); font-weight:600; font-size:1.02em; color:var(--podsady-ink-soft); margin-bottom:10px; }
.podsady-card-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:10px; border-top:1px dashed var(--podsady-border); }

/* ---------- rows (parts / addons / rope / bedmods) ---------- */
.podsady-custom-parts, .podsady-item-rows { margin-top:12px; display:flex; flex-direction:column; gap:8px; }
.podsady-row {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  background:var(--podsady-bg-elevated); border:1px solid var(--podsady-border);
  border-radius:var(--podsady-radius); padding:10px 12px;
}
.podsady-row-info { display:flex; flex-direction:column; gap:2px; }
.podsady-row-name { font-size:0.9em; font-weight:600; }
.podsady-row-desc { font-size:0.76em; color:var(--podsady-ink-soft); }
.podsady-row-right { display:flex; align-items:center; gap:12px; flex:none; }
.podsady-row-price { font-size:0.85em; color:var(--podsady-ink-soft); min-width:64px; text-align:right; }

/* ---------- delivery radios ---------- */
.podsady-radio-group { display:flex; flex-direction:column; gap:8px; }
.podsady-radio-row {
  display:flex; align-items:center; gap:10px; background:var(--podsady-bg-elevated);
  border:1px solid var(--podsady-border); border-radius:var(--podsady-radius); padding:10px 12px; cursor:pointer;
}
.podsady-radio-row[data-selected="true"] { border-color:var(--podsady-accent); }
.podsady-radio-dot { width:16px; height:16px; border-radius:50%; border:1.5px solid var(--podsady-border); flex:none; position:relative; }
.podsady-radio-row[data-selected="true"] .podsady-radio-dot { border-color:var(--podsady-accent); }
.podsady-radio-row[data-selected="true"] .podsady-radio-dot::after { content:""; position:absolute; inset:3px; border-radius:50%; background:var(--podsady-accent); }
.podsady-radio-text { flex:1; font-size:0.88em; }
.podsady-radio-price { font-size:0.85em; color:var(--podsady-ink-soft); }

.podsady-km-input { margin-top:6px; display:flex; align-items:center; gap:8px; font-size:0.85em; color:var(--podsady-ink-soft); padding-left:26px; }
.podsady-km-input input { width:80px; border:1px solid var(--podsady-border); border-radius:4px; background:var(--podsady-bg-elevated); color:var(--podsady-ink); padding:6px 8px; font-family:var(--podsady-font-body); font-size:0.85em; }

/* ---------- summary ---------- */
.podsady-summary-block { background:var(--podsady-bg-elevated); border:1px solid var(--podsady-border); border-radius:var(--podsady-radius); padding:14px 16px; }
.podsady-summary-block h2 { margin-bottom:8px; }
#podsady-summary-text { margin:0; white-space:pre-wrap; font-family:var(--podsady-font-body); font-size:0.85em; color:var(--podsady-ink-soft); line-height:1.65; }
.podsady-summary-hint { font-size:0.76em; color:var(--podsady-ink-soft); margin:10px 0 0; }

/* ---------- SVG part styling (defaults; JS may override with per-item colors) ---------- */
.podsady-svg-wrap .podsady-part-inactive { fill:none; stroke:var(--podsady-line); stroke-width:1.5; opacity:0.55; }
.podsady-svg-wrap .podsady-part-active { fill:var(--podsady-accent-soft); stroke:var(--podsady-accent); stroke-width:2; opacity:1; }
.podsady-svg-wrap .podsady-icon-hidden { opacity:0; }
.podsady-svg-wrap .podsady-icon-shown { opacity:1; }

@media (max-width:860px) {
  .podsady-price-total {
    position:sticky; bottom:0; margin:0; border-top:1px solid var(--podsady-border);
    background:var(--podsady-bg-elevated); padding:12px 16px; z-index:5;
  }
}

/* =====================================================================
   Ceník ([podsady_cenik])
   ===================================================================== */
.podsady-cenik { max-width:1100px; margin:0 auto 28px; }
.podsady-cenik-intro { font-size:0.95em; color:var(--podsady-ink-soft); margin:0 0 12px; }
.podsady-cenik-details { border:1px solid var(--podsady-border); border-radius:var(--podsady-radius); background:var(--podsady-bg-elevated); padding:4px 16px; }
.podsady-cenik-summary {
  cursor:pointer; font-family:var(--podsady-font-display); font-weight:600; font-size:1.1em;
  padding:12px 0; list-style:none; display:flex; align-items:center; gap:8px;
}
.podsady-cenik-summary::-webkit-details-marker { display:none; }
.podsady-cenik-summary::before { content:'▸'; color:var(--podsady-accent); font-size:0.85em; transition:transform 0.15s ease; }
.podsady-cenik-details[open] .podsady-cenik-summary::before { transform:rotate(90deg); }
.podsady-cenik-body { padding-bottom:12px; }
.podsady-cenik-title { font-family:var(--podsady-font-display); font-weight:600; margin:22px 0 10px; }
.podsady-cenik-title:first-child { margin-top:0; }
.podsady-cenik-table { width:100%; border-collapse:collapse; margin-bottom:6px; }
.podsady-cenik-table tr { border-bottom:1px solid var(--podsady-border); }
.podsady-cenik-name { padding:10px 8px; }
.podsady-cenik-desc { display:block; font-size:0.8em; color:var(--podsady-ink-soft); margin-top:2px; }
.podsady-cenik-price { padding:10px 8px; text-align:right; white-space:nowrap; font-weight:600; font-family:var(--podsady-font-display); }
