.tshirt-order-form { max-width: 900px; margin: 0 auto; }
.shirt-designs { display: grid; gap: 28px; margin: 20px auto 28px; }
.shirt-design-order { text-align: center; }
.shirt-design { display: block; width: 100%; color: #0b439a; text-align: center; text-decoration: none; }
.shirt-design img { display: block; width: 100%; padding-top: 16px; padding-bottom: 16px; object-fit: contain; border: 1px solid #d6dce5; border-radius: 4px; background: #fff; }
.shirt-design span { display: block; margin-top: 8px; font-weight: 700; }
.shirt-design small { display: block; margin-top: 2px; color: #4f4f4f; font-size: 20px; line-height: 1.3; }
.shirt-sizes { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 20px auto; }
.shirt-size { width: calc((100% - 24px) / 3); max-width: 180px; border: 1px solid #d6dce5; border-radius: 4px; padding: 14px; text-align: center; background: #fff; }
.shirt-size label { display: block; cursor: pointer; }
.shirt-size-label { display: block; margin: 0 0 6px; font-weight: 700; color: #4f4f4f; }
.shirt-size label strong { display: block; font-size: 24px; color: #0b439a; }
.shirt-size label span:not(.shirt-size-label) { display: block; margin: 4px 0 10px; }
.shirt-size input { width: 72px; text-align: center; padding: 8px; }
.order-total { margin: 20px 0; text-align: center; font-size: 24px; }
.payment-note { margin: -8px 0 20px; text-align: center; color: #4f4f4f; }
.submit-row { text-align: center; }
@media (max-width: 700px) { .shirt-size { width: calc((100% - 12px) / 2); } }
@media (max-width: 420px) { .shirt-size { width: 100%; max-width: 180px; } }
