/* Phone-first column; max width set on layout main */
.taste-test {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}

/* Turbo stream target wraps page sections; inherit column spacing */
.taste-test #taste-test-stream {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}

.taste-test .tt-page-header {
  text-align: center;
  margin-bottom: 0;
}

.taste-test .tt-page-header h1 {
  font-family: var(--tt-font-display);
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
  line-height: 1.2;
}

.taste-test .tt-page-header p {
  margin: 0 0 1rem;
}

.taste-test .tt-page-header .tt-btn {
  margin-top: 0.25rem;
}

.taste-test .tt-section {
  margin-bottom: 0;
}

.taste-test .tt-grid-2 {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.taste-test .tt-actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 1rem;
}

.taste-test .tt-actions--row {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}

.taste-test .tt-option-row .tt-actions--row {
  margin-top: 0;
  flex-shrink: 0;
  flex-direction: column;
  align-items: stretch;
  gap: 0.375rem;
  min-width: 4.75rem;
}

.taste-test .tt-option-row .tt-actions--row > .tt-btn {
  display: block;
  text-align: center;
  box-sizing: border-box;
}

.taste-test .tt-option-row .tt-actions--row form.button_to {
  display: block;
  width: auto;
}

.taste-test .tt-option-row .tt-actions--row form.button_to .tt-btn,
.taste-test .tt-option-row .tt-actions--row form.button_to input[type="submit"] {
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}

.taste-test .tt-btn-block {
  display: block;
  width: 100%;
  text-align: center;
  margin-top: 1rem;
}

.taste-test form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.taste-test form input[type="submit"] {
  margin-top: 0.25rem;
}

/* Only collapse margin between top-level siblings (not inside forms) */
.taste-test > .tt-card + .tt-btn,
.taste-test > .tt-card + form,
.taste-test > .tt-card + .tt-btn-block,
.taste-test #taste-test-stream > .tt-card + .tt-btn,
.taste-test #taste-test-stream > .tt-card + form,
.taste-test #taste-test-stream > .tt-card + .tt-btn-block {
  margin-top: 0;
}

.taste-test .tt-radio-group label {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  line-height: 1.4;
}

.taste-test .tt-card h2 + p,
.taste-test .tt-card h3 + p {
  margin-top: 0;
}

.taste-test .tt-card h2 + .tt-ceremony-list,
.taste-test .tt-card h3 + .tt-ceremony-list {
  margin-top: 1rem;
}
