/* Catdi DMC - minimal, clean, mobile-first */
.catdi-dmc { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
.catdi-dmc__header { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:14px 16px; border:1px solid rgba(0,0,0,.12); border-radius:16px; }
.catdi-dmc__title { margin:0; font-size:1.25rem; }
.catdi-dmc__subtitle { opacity:.8; margin-top:4px; }
.catdi-dmc__progress { display:flex; align-items:center; gap:10px; }
.catdi-dmc__progress-bar { width:180px; height:10px; background:rgba(0,0,0,.08); border-radius:999px; overflow:hidden; }
.catdi-dmc__progress-bar span { display:block; height:100%; width:0%; background:rgba(0,0,0,.55); }
.catdi-dmc__progress-text { opacity:.8; font-weight:600; }

.catdi-dmc__body { display:grid; grid-template-columns: 1fr; gap:14px; margin-top:12px; }
@media (min-width: 980px) {
  .catdi-dmc__body { grid-template-columns: 1.4fr .6fr; align-items:start; }
  .catdi-dmc__summary { position: sticky; top: 16px; }
}

.catdi-step { display:none; border:1px solid rgba(0,0,0,.12); border-radius:16px; padding:16px; }
.catdi-step.is-active { display:block; }
.catdi-step__header h3 { margin:0 0 6px; }
.catdi-muted { opacity:.8; margin:0; }

.catdi-card-grid { display:grid; grid-template-columns:1fr; gap:12px; margin-top:12px; }
@media (min-width: 900px) { .catdi-card-grid { grid-template-columns:1fr 1fr; } }

.catdi-choice-card { border:1px solid rgba(0,0,0,.12); border-radius:16px; padding:14px; background:#fff; cursor:pointer; text-align:left; width:100%; transition: box-shadow .15s ease, transform .05s ease, border-color .15s ease; }
.catdi-choice-card:hover { box-shadow:0 10px 30px rgba(0,0,0,.10); }
.catdi-choice-card:active { transform: translateY(1px); }
.catdi-choice-card.is-selected { border-color: rgba(0,0,0,.35); box-shadow:0 14px 40px rgba(0,0,0,.12); }
.catdi-choice-card__top { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.catdi-choice-card__title { font-weight:800; font-size:1.05rem; }
.catdi-choice-card__subtitle { opacity:.8; margin-top:2px; }
.catdi-pill { border:1px solid rgba(0,0,0,.18); border-radius:999px; padding:4px 10px; font-size:.85rem; white-space:nowrap; }
.catdi-bullets { margin:10px 0 0; padding-left:18px; }
.catdi-bullets li { margin:6px 0; }
.catdi-choice-card__footer { display:flex; justify-content:space-between; align-items:center; margin-top:12px; }
.catdi-link { text-decoration: underline; opacity:.85; }
.catdi-cta { font-weight:800; }

.catdi-helper { text-align:center; margin-top:12px; }
.catdi-helper__btn { background:transparent; border:none; text-decoration:underline; cursor:pointer; font-weight:700; }
.catdi-helper__note { margin-top:8px; }

.catdi-actions { display:flex; justify-content:space-between; gap:10px; margin-top:16px; }
.catdi-btn { border-radius:12px; padding:10px 14px; border:1px solid rgba(0,0,0,.18); cursor:pointer; background:#fff; }
.catdi-btn:disabled { opacity:.5; cursor:not-allowed; }
.catdi-btn--primary { font-weight:800; }
.catdi-btn--secondary { opacity:.9; }
.catdi-btn--ghost { width:100%; margin-top:10px; background:transparent; }

.catdi-card { border:1px solid rgba(0,0,0,.12); border-radius:16px; padding:14px; background:#fff; }
.catdi-card--muted { background: rgba(0,0,0,.03); }
.catdi-card__title { font-weight:800; }
.catdi-card__small { opacity:.85; font-size:.92rem; }

.catdi-kv { display:flex; justify-content:space-between; gap:8px; margin-top:10px; }
.catdi-kv span { opacity:.8; }
.catdi-divider { height:1px; background:rgba(0,0,0,.10); margin-top:12px; }

.catdi-field { margin-top:12px; }
.catdi-label { font-weight:800; margin-bottom:6px; }
.catdi-input, .catdi-select { width:100%; padding:10px 12px; border-radius:12px; border:1px solid rgba(0,0,0,.18); }
.catdi-radio-row { display:flex; gap:12px; flex-wrap:wrap; }
.catdi-radio-col { display:grid; gap:8px; }
.catdi-radio input { margin-right:6px; }
.catdi-qty { display:flex; gap:10px; align-items:center; margin-top:6px; }
.catdi-btn--chip { padding:8px 12px; border-radius:999px; }

.catdi-panel { border:1px dashed rgba(0,0,0,.18); border-radius:14px; padding:12px; margin-top:12px; }
.catdi-subpanel { border:1px solid rgba(0,0,0,.10); border-radius:14px; padding:12px; background: rgba(0,0,0,.02); }
.catdi-total { display:flex; justify-content:space-between; align-items:center; font-size:1.05rem; }
.catdi-grid2 { display:grid; grid-template-columns:1fr; gap:10px; }
@media (min-width: 900px) { .catdi-grid2 { grid-template-columns:1fr 1fr; } }

/* Modal */
.catdi-modal { display:none; }
.catdi-modal.is-open { display:block; position:fixed; inset:0; z-index:9999; }
.catdi-modal__overlay { position:absolute; inset:0; background: rgba(0,0,0,.45); }
.catdi-modal__panel { position:relative; max-width:620px; margin: 10vh auto 0; background:#fff; border-radius:18px; padding:16px; box-shadow:0 18px 60px rgba(0,0,0,.25); }
.catdi-modal__actions { display:flex; justify-content:flex-end; gap:10px; margin-top:12px; }
.catdi-q { border-top:1px solid rgba(0,0,0,.10); padding-top:12px; margin-top:12px; }
.catdi-q__label { font-weight:800; margin-bottom:6px; }
.catdi-q__choices { display:grid; gap:6px; }
