/* MISSION 72 (V11-A) -- custom modeling screens (PBUI-061/062/063/064/066/067/072/084/085/092/094 + the home CTA).
   Design System v2: CSS variables only (no new hard-coded colors), RTL logical properties, mobile-first (one column),
   44px targets, visible focus. */
.pb-cm { max-inline-size: 760px; margin-inline: auto; padding-inline: var(--space-4); }
.pb-cm-wide { max-inline-size: 1040px; }
.pb-cm h1 { margin-block: var(--space-4) var(--space-2); font-size: var(--pb-text-h1); line-height: var(--pb-lh-h1); }
.pb-cm-lead { color: var(--text-secondary); margin-block: 0 var(--space-4); line-height: 1.6; }
.pb-cm-card { background: var(--surface); border: 1px solid var(--border-color); border-radius: var(--radius-card); padding: var(--space-4); margin-block-end: var(--space-4); }
.pb-cm-card h2 { font-size: var(--text-section-title); margin-block: 0 var(--space-3); }
.pb-cm-steps { display: flex; gap: var(--space-2); margin-block-end: var(--space-3); color: var(--text-secondary); font-size: var(--text-meta); }
.pb-cm-steps [aria-current="step"] { color: var(--text-primary); font-weight: 700; }
.pb-cm-field { display: flex; flex-direction: column; gap: var(--space-1); margin-block-end: var(--space-4); }
.pb-cm-field label, .pb-cm-legend { font-weight: 600; }
.pb-cm-help { color: var(--text-secondary); font-size: var(--text-meta); margin: 0; }
.pb-cm-field textarea, .pb-cm-field input[type=text], .pb-cm-field input[type=url], .pb-cm-field input[type=number], .pb-cm-field select {
  min-block-size: var(--control-h); border: 1px solid var(--border-strong); border-radius: var(--radius-control); padding: var(--space-2) var(--space-3);
  background: var(--pb-surface-raised); color: var(--text-primary); font: inherit; inline-size: 100%; box-sizing: border-box; min-block-size: var(--pb-h-input); }
.pb-cm-field textarea { min-block-size: 140px; }
.pb-cm :focus-visible { outline: 2px solid var(--pb-focus); outline-offset: 2px; }
.pb-cm-choices { border: 0; padding: 0; margin: 0 0 var(--space-3); display: flex; flex-direction: column; gap: var(--space-3); }
.pb-cm-choice { display: flex; gap: var(--space-3); align-items: flex-start; border: 1px solid var(--border-color); border-radius: var(--radius-card); padding: var(--space-3) var(--space-4); cursor: pointer; background: var(--surface); }
.pb-cm-choice:hover { background: var(--pb-surface-hover); }
.pb-cm-choice:has(input:checked) { border-color: var(--pb-selection-border); box-shadow: 0 0 0 1px var(--pb-selection-border); background: var(--pb-surface-selected); }
.pb-cm-choice:has(input:checked) .pb-cm-choice-title::after { content: " ¹3"; }
.pb-cm-choice input { inline-size: 22px; block-size: 22px; margin-block-start: 3px; flex: none; }
.pb-cm-choice-title { font-weight: 700; display: block; }
.pb-cm-choice-gets { color: var(--text-secondary); display: block; margin-block-start: var(--space-1); }
.pb-cm-indication { display: inline-block; margin-block-start: var(--space-2); font-size: var(--text-meta); border: 1px solid var(--border-strong); border-radius: var(--radius-pill); padding: 2px var(--space-2); color: var(--text-primary); }
.pb-cm-disclaimer { font-size: var(--text-meta); color: var(--text-secondary); margin-block: var(--space-2); }
.pb-cm-help-box { border-inline-start: 4px solid var(--pb-info-text); padding: var(--space-3) var(--space-4); background: var(--pb-info-surface); border-radius: var(--radius-sm); }
.pb-cm-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-block-start: var(--space-4); }
/* R3200: Primary keeps its 48px minimum (site.css); secondary / outline 44 */
.pb-cm-facts { display: grid; grid-template-columns: max-content 1fr; gap: var(--space-2) var(--space-4); margin: 0; }
.pb-cm-facts dt { color: var(--text-secondary); }
.pb-cm-facts dd { margin: 0; }
.pb-cm-state { display: inline-block; border-radius: var(--radius-pill); padding: 2px var(--space-3); font-size: var(--text-meta); font-weight: 600; background: var(--surface-2); color: var(--text-primary); border: 1px solid var(--border-color); }
.pb-cm-offers { display: grid; grid-template-columns: 1fr; gap: var(--space-3); }
.pb-cm-offer { border: 1px solid var(--border-color); border-radius: var(--radius-card); padding: var(--space-4) var(--pb-space-5); background: var(--surface); box-shadow: var(--pb-shadow-card-theme); display: flex; flex-direction: column; gap: var(--space-2); transition: border-color var(--pb-motion-fast) var(--pb-ease); }
.pb-cm-offer:hover, .pb-cm-offer:focus-within { border-color: var(--pb-control-border); }
.pb-cm-offer-price { font-size: var(--pb-text-money); line-height: var(--pb-lh-money); font-weight: var(--pb-weight-money); font-variant-numeric: tabular-nums; }
.pb-cm-offer-meta { color: var(--text-secondary); font-size: var(--text-meta); }
.pb-cm-sort { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; margin-block-end: var(--space-3); }
.pb-cm-price-table { inline-size: 100%; border-collapse: collapse; }
.pb-cm-price-table th, .pb-cm-price-table td { padding: var(--space-2) 0; border-block-end: 1px solid var(--border-color); text-align: start; }
.pb-cm-price-table td:last-child { text-align: end; }
.pb-cm-price-table td:last-child { font-variant-numeric: tabular-nums; unicode-bidi: isolate; }
.pb-cm-price-table tr.pb-cm-total td { font-weight: 700; border-block-end: 0; font-size: var(--pb-text-h3); padding-block-start: var(--space-3); }
.pb-cm-notice { border: 1px solid var(--border-strong); border-radius: var(--radius-card); padding: var(--space-3) var(--space-4); background: var(--surface-2); margin-block-end: var(--space-4); }
.pb-cm-refs { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--space-2); }
.pb-cm-refs img { block-size: 72px; border-radius: var(--radius-sm); }
.pb-cm-versions { font-size: var(--text-meta); color: var(--text-secondary); }
/* home CTA (A01) */
.pb-cm-home { border: 1px solid var(--border-color); border-radius: var(--radius-card); padding: var(--pb-space-6); margin-block: var(--pb-space-6); background: var(--surface); display: flex; flex-direction: column; gap: var(--space-3); position: relative; overflow: hidden; box-shadow: var(--pb-shadow-card-theme); }
.pb-cm-home::before { content: ""; position: absolute; inset-block-start: 0; inset-inline: 0; height: 4px; background: var(--pb-brand-gradient); }
.pb-cm-home h2 { margin: 0; font-size: var(--text-section-title); }
.pb-cm-home p { margin: 0; color: var(--text-secondary); line-height: 1.6; }
.pb-cm-home .pb-btn { align-self: flex-start; }
@media (min-width: 900px) {
  .pb-cm-offers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pb-cm-home { flex-direction: row; align-items: center; justify-content: space-between; }
  .pb-cm-home > div { max-inline-size: 70%; }
  .pb-cm-home .pb-btn { align-self: center; }
}
