:root{
  --ddt-accent:#d11118;
  --ddt-accent-ink:#ffffff;
  --ddt-ink:#0f172a;
  --ddt-muted:#6b7280;
  --ddt-border:#e5e7eb;
  --ddt-surface:#ffffff;
  --ddt-surface-muted:#f7f7f7;
  --ddt-radius:14px;
}

/* Layout wrappers */
.ddt-wrap{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;color:var(--ddt-ink);max-width:1200px;margin:0 auto}
.ddt-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}
@media (max-width:980px){ .ddt-grid{grid-template-columns:1fr} }

.ddt-card{border:1px solid var(--ddt-border);border-radius:var(--ddt-radius);padding:1rem;background:var(--ddt-surface)}
.muted{color:var(--ddt-muted)}
.ddt-disabled{opacity:.55;filter:grayscale(15%)}

/* Price/summary boxes */
.price-box{background:var(--ddt-accent);color:var(--ddt-accent-ink);border-radius:var(--ddt-radius);padding:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.price-box .actions{display:flex;gap:.5rem;align-items:center}
.total{font-weight:800;font-size:1.4rem}
.btn-primary{background:var(--ddt-accent);color:var(--ddt-accent-ink);border:0;border-radius:12px;padding:.8rem 1.1rem;font-weight:700;cursor:pointer;transition:.15s transform ease}
.btn-primary:hover{transform:translateY(-1px)}
.btn-primary[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.btn-ghost{background:var(--ddt-surface);color:var(--ddt-ink);border:1px solid var(--ddt-border);border-radius:12px;padding:.7rem 1rem;font-weight:600;cursor:pointer}
.btn-ghost:hover{background:var(--ddt-surface-muted)}

.ddt-lines .line{display:flex;justify-content:space-between;border-bottom:1px dashed #eee;padding:.35rem 0}

/* Progress */
.ddt-progress{background:#fff;border:1px solid var(--ddt-border);border-radius:var(--ddt-radius);padding:.75rem 1rem;margin-top:.75rem}
.ddt-progress .steps{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.ddt-progress .step{color:var(--ddt-muted);font-weight:600}
.ddt-progress .step.active{color:var(--ddt-ink)}
.ddt-progress .step.done{color:var(--ddt-accent)}
.ddt-progress .bar{margin-top:.5rem;height:8px;border-radius:999px;background:#f0f0f0;overflow:hidden}
.ddt-progress .bar .bar-fill{height:100%;background:var(--ddt-accent);width:0}

/* Model pills */
.model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.5rem}
@media (max-width:980px){ .model-grid{grid-template-columns:1fr} }
label.model-pill{display:flex;gap:.65rem;align-items:flex-start;border:1px solid var(--ddt-border);border-radius:14px;padding:.85rem 1rem;background:#fff;cursor:pointer}
label.model-pill:hover{background:#fafafa}
label.model-pill input{margin:0 .25rem 0 0;transform:scale(1.15);accent-color:var(--ddt-accent);flex:0 0 auto}
label.model-pill > div{line-height:1.2}
label.model-pill .sub{margin-top:2px;font-size:.9rem;color:var(--ddt-muted)}

/* Option groups */
.ddt-group{background:#fff;border:1px solid #eee;border-radius:12px;padding:12px 12px 6px;margin-top:.5rem}
.ddt-group h5{font-size:1rem;margin:0 0 .4rem}
.ddt-row{display:flex;gap:.6rem;align-items:center;padding:8px 10px;border-radius:10px}
.ddt-row:hover{background:#fafafa}
.ddt-row label{flex:1}
.ddt-row .price{min-width:90px;text-align:right}

/* Options column + sticky summary */
.ddt-options-col{display:flex;flex-direction:column;gap:.35rem;max-height:none}
#ddt-options { display:block !important; visibility:visible !important; }
@media (min-width:980px){ .ddt-summary{position:sticky;top:16px} }