/* Phase XVII-M.23 — Structural card parity (broad selector):
   Hide the opposite control group anywhere under an element that declares data-pricing-mode. */
[data-pricing-mode="weekly"] [data-price-group="hours"] { display: none !important; }
[data-pricing-mode="hourly"] [data-price-group="weeks"] { display: none !important; }

/* M.24 parity: force consistent label layout & control widths across shells (wins by load order) */
.course-card [data-price-panel] .course-calculator__label,
[data-component="course-card"] [data-price-panel] .course-calculator__label{
  display:inline-block !important;
  margin-right:.5rem;
  vertical-align:baseline;
}

/* Weeks may render as <select> or <input type="number"> depending on template path */
.course-card [data-price-panel] [data-price-group="weeks"] select,
.course-card [data-price-panel] [data-price-group="weeks"] input[type="number"],
[data-component="course-card"] [data-price-panel] [data-price-group="weeks"] select,
[data-component="course-card"] [data-price-panel] [data-price-group="weeks"] input[type="number"],
.course-card [data-price-panel] [data-price-group="hours"] input[type="number"],
[data-component="course-card"] [data-price-panel] [data-price-group="hours"] input[type="number"]{
  width:5.75rem !important;
  max-width:5.75rem !important;
  height:2.25rem;
  padding:0 .5rem;
  border:1px solid rgba(0,0,0,.18);
  border-radius:.5rem;
  box-sizing:border-box;
}

/* Row rhythm parity */
.course-card [data-price-panel] .course-calculator__line,
[data-component="course-card"] [data-price-panel] .course-calculator__line{
  display:flex;
  align-items:baseline;
  gap:.5rem;
  margin:.25rem 0;
  line-height:1.3;
}

/* M.24 (harden): Single-price cards => headline on row 1, control on row 2 */
.course-card [data-price-panel][data-headline-variant="single"],
[data-component="course-card"] [data-price-panel][data-headline-variant="single"]{
  display: grid !important;
  grid-auto-flow: row;
  grid-template-columns: 1fr !important;
  row-gap: .25rem;
}
.course-card [data-price-panel][data-headline-variant="single"] [data-price-group],
[data-component="course-card"] [data-price-panel][data-headline-variant="single"] [data-price-group]{
  grid-column: 1 !important;   /* same column */
  grid-row: 2 !important;       /* second row */
}

/* M.24 (safe): single-price cards → stay flex, wrap control to next line */
.course-card [data-price-panel][data-headline-variant="single"],
[data-component="course-card"] [data-price-panel][data-headline-variant="single"]{
  display: flex !important;
  flex-wrap: wrap !important;
  row-gap: .25rem;
}
.course-card [data-price-panel][data-headline-variant="single"] [data-price-slot="headline"],
[data-component="course-card"] [data-price-panel][data-headline-variant="single"] [data-price-slot="headline"]{
  order: 1;
  flex: 1 1 100%;
}
.course-card [data-price-panel][data-headline-variant="single"] [data-price-group],
[data-component="course-card"] [data-price-panel][data-headline-variant="single"] [data-price-group]{
  order: 2;
  flex: 1 1 100%;
  margin-top: .125rem;
}
.course-card [data-price-panel][data-headline-variant="single"] .course-calculator__line,
[data-component="course-card"] [data-price-panel][data-headline-variant="single"] .course-calculator__line{
  order: 3;
  flex: 1 1 100%;
}
