.pizza-shell { max-width: 960px; }
.pizza-tool-card, .pizza-results { box-shadow: 0 .75rem 2rem rgba(18, 38, 63, .08); }
.mode-tabs .nav-link { min-height: 48px; }
.choice-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)); gap: .65rem; }
.choice-label { display: block; height: 100%; padding: .8rem; border: 1px solid var(--bs-border-color); border-radius: .65rem; cursor: pointer; background: var(--bs-white); }
.choice-label:has(input:checked) { border-color: var(--bs-primary); box-shadow: 0 0 0 2px rgba(var(--bs-primary-rgb), .15); }
.choice-label input { margin-right: .35rem; }
.pizza-size-row { padding: 1rem; border: 1px solid var(--bs-border-color); border-radius: .75rem; background: var(--bs-tertiary-bg); }
.recommendation-card { padding: 1rem; border: 1px solid var(--bs-border-color); border-radius: .75rem; background: var(--bs-white); }
.step-heading { display: flex; align-items: center; gap: .75rem; }
.step-number { display: inline-flex; flex: 0 0 2rem; width: 2rem; height: 2rem; align-items: center; justify-content: center; border-radius: 50%; background: var(--bs-primary); color: var(--bs-white); font-size: 1rem; font-weight: 700; }
.form-step-divider { margin: 2rem 0 1.5rem; border-top: 2px solid var(--bs-border-color); }
.pizza-visual { display: flex; align-items: flex-end; justify-content: space-around; gap: 1rem; min-height: 235px; overflow: hidden; }
.visual-option { flex: 1; min-width: 0; text-align: center; }
.pizza-circle { display: flex; align-items: center; justify-content: center; margin: auto; max-width: 100%; aspect-ratio: 1; border: 3px solid #a94b18; border-radius: 50%; background: #f4b942; color: #351b0d; font-weight: 700; box-shadow: inset 0 0 0 8px #e98b2a; }
.pizza-circle.sheet-pizza { border-radius: .75rem; }
#compare-panel #compare-form > .row.g-4 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: stretch;
  gap: 1.25rem;
  margin: 0;
}
#compare-panel #compare-form > .row.g-4::before {
  content: "VS";
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  display: inline-flex;
  width: 2.75rem;
  height: 2.75rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--bs-primary);
  color: var(--bs-white);
  font-size: .9rem;
  font-weight: 800;
  box-shadow: 0 .35rem .85rem rgba(var(--bs-primary-rgb), .2);
}
#compare-panel #compare-form > .row.g-4 > fieldset {
  width: auto;
  max-width: none;
  padding: 1.25rem;
  border: 1px solid var(--bs-border-color);
  border-radius: .85rem;
  background: var(--bs-tertiary-bg);
  box-shadow: 0 .35rem 1rem rgba(18, 38, 63, .06);
}
#compare-panel #compare-form > .row.g-4 > fieldset:first-of-type { grid-column: 1; }
#compare-panel #compare-form > .row.g-4 > fieldset:last-of-type { grid-column: 3; }
.reference-table { max-width: 520px; }
[hidden] { display: none !important; }
@media (max-width: 575.98px) {
  .pizza-size-row .btn { width: 100%; }
  .pizza-visual { min-height: 210px; gap: .25rem; }
}
@media (max-width: 767.98px) {
  #compare-panel #compare-form > .row.g-4 { grid-template-columns: 1fr; gap: .85rem; }
  #compare-panel #compare-form > .row.g-4::before { grid-column: 1; grid-row: 2; justify-self: center; }
  #compare-panel #compare-form > .row.g-4 > fieldset:first-of-type { grid-column: 1; grid-row: 1; }
  #compare-panel #compare-form > .row.g-4 > fieldset:last-of-type { grid-column: 1; grid-row: 3; }
}
